On Tue, 2010-07-20 at 09:36 +0800, Amos Kong wrote: > This case just snoop tftp packet through tcpdump, it depends on public dhcp > server, better to test it through dnsmasq. It would be a good idea to have an alternate implementation using dnsmasq, but not urgent. > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> > Signed-off-by: Amos Kong <akong@xxxxxxxxxx> > --- > 0 files changed, 0 insertions(+), 0 deletions(-) > > diff --git a/client/tests/kvm/tests/pxe.py b/client/tests/kvm/tests/pxe.py > new file mode 100644 > index 0000000..8859aaa > --- /dev/null > +++ b/client/tests/kvm/tests/pxe.py > @@ -0,0 +1,30 @@ > +import logging > +from autotest_lib.client.common_lib import error > +import kvm_subprocess, kvm_test_utils, kvm_utils > + > + > +def run_pxe(test, params, env): > + """ > + PXE test: > + > + 1) Snoop the tftp packet in the tap device > + 2) Wait for some seconds > + 3) Check whether capture tftp packets > + > + @param test: kvm test object > + @param params: Dictionary with the test parameters > + @param env: Dictionary with test environment. > + """ > + vm = kvm_test_utils.get_living_vm(env, params.get("main_vm")) > + timeout = int(params.get("pxe_timeout", 60)) > + > + logging.info("Try to boot from pxe") > + status, output = kvm_subprocess.run_fg("tcpdump -nli %s" % vm.get_ifname(), > + logging.debug, > + "(pxe) ", > + timeout) ^ The only complaint I could make here is that since this command doesn't need to live throughout tests, utils.run would do just fine. Other than that, looks fine to me. > + logging.info("Analysing the tcpdump result...") ^ typo, analyzing > + if not "tftp" in output: > + raise error.TestFail("Couldn't find tftp packet in %s seconds" % timeout) > + logging.info("Found tftp packet") > diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample > index 9594a38..5515601 100644 > --- a/client/tests/kvm/tests_base.cfg.sample > +++ b/client/tests/kvm/tests_base.cfg.sample > @@ -381,6 +381,19 @@ variants: > mgroup_count = 20 > flood_minutes = 1 > > + - pxe: > + type = pxe > + images = pxe > + image_name_pxe = pxe-test > + image_size_pxe = 1G > + force_create_image_pxe = yes > + remove_image_pxe = yes > + extra_params += ' -boot n' > + kill_vm_on_error = yes > + network = bridge > + restart_vm = yes > + pxe_timeout = 60 > + > - physical_resources_check: install setup unattended_install.cdrom > type = physical_resources_check > catch_uuid_cmd = dmidecode | awk -F: '/UUID/ {print $2}' > > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html