1import logging 2from autotest_lib.client.common_lib import error 3from autotest_lib.client.virt import aexpect 4 5def run_pxe(test, params, env): 6 """ 7 PXE test: 8 9 1) Snoop the tftp packet in the tap device. 10 2) Wait for some seconds. 11 3) Check whether we could capture TFTP packets. 12 13 @param test: KVM test object. 14 @param params: Dictionary with the test parameters. 15 @param env: Dictionary with test environment. 16 """ 17 vm = env.get_vm(params["main_vm"]) 18 vm.verify_alive() 19 timeout = int(params.get("pxe_timeout", 60)) 20 21 logging.info("Try to boot from PXE") 22 output = aexpect.run_fg("tcpdump -nli %s" % vm.get_ifname(), 23 logging.debug, "(pxe capture) ", timeout)[1] 24 25 logging.info("Analyzing the tcpdump result...") 26 if not "tftp" in output: 27 raise error.TestFail("Couldn't find any TFTP packets after %s seconds" % 28 timeout) 29 logging.info("Found TFTP packet") 30