From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=51700 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ob1kr-0001bD-RB for qemu-devel@nongnu.org; Mon, 19 Jul 2010 21:36:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Ob1kq-0003Zh-Mt for qemu-devel@nongnu.org; Mon, 19 Jul 2010 21:36:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:12993) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ob1kq-0003Zb-Dz for qemu-devel@nongnu.org; Mon, 19 Jul 2010 21:36:20 -0400 From: Amos Kong Date: Tue, 20 Jul 2010 09:36:16 +0800 Message-ID: <20100720013616.2212.34704.stgit@z> In-Reply-To: <20100720013414.2212.13476.stgit@z> References: <20100720013414.2212.13476.stgit@z> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [RFC PATCH 10/14] KVM-test: Add a subtest of pxe List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: lmr@redhat.com Cc: autotest@test.kernel.org, qemu-devel@nongnu.org, kvm@vger.kernel.org This case just snoop tftp packet through tcpdump, it depends on public dhcp server, better to test it through dnsmasq. 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) + + logging.info("Analysing the tcpdump result...") + 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}'