From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=39856 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OeEmq-000590-9B for qemu-devel@nongnu.org; Wed, 28 Jul 2010 18:07:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OeEmo-0008Tr-W6 for qemu-devel@nongnu.org; Wed, 28 Jul 2010 18:07:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49256) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OeEmo-0008Ti-PP for qemu-devel@nongnu.org; Wed, 28 Jul 2010 18:07:38 -0400 Subject: Re: [Qemu-devel] [RFC PATCH 10/14] KVM-test: Add a subtest of pxe From: Lucas Meneghel Rodrigues In-Reply-To: <20100720013616.2212.34704.stgit@z> References: <20100720013414.2212.13476.stgit@z> <20100720013616.2212.34704.stgit@z> Content-Type: text/plain; charset="UTF-8" Date: Wed, 28 Jul 2010 19:07:34 -0300 Message-ID: <1280354854.2578.310.camel@freedom> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amos Kong Cc: autotest@test.kernel.org, qemu-devel@nongnu.org, kvm@vger.kernel.org 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 > Signed-off-by: Amos Kong > --- > 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}' > >