From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amos Kong Subject: [PATCH v2 11/17] KVM-test: Add a subtest of pxe Date: Mon, 23 Aug 2010 16:53:17 +0800 Message-ID: <20100823085317.19173.11527.stgit@190> References: <20100823084745.19173.61655.stgit@190> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: lmr@redhat.com, kvm@vger.kernel.org To: autotest@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:16288 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752344Ab0HWIuW (ORCPT ); Mon, 23 Aug 2010 04:50:22 -0400 In-Reply-To: <20100823084745.19173.61655.stgit@190> Sender: kvm-owner@vger.kernel.org List-ID: This case just snoop tftp packet through tcpdump, it depends on public dhcp server, better to test it through dnsmasq. FIXME: Use dnsmasq for pxe test 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..59b1030 --- /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 + + +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("Analyzing 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 a53ab64..918d5aa 100644 --- a/client/tests/kvm/tests_base.cfg.sample +++ b/client/tests/kvm/tests_base.cfg.sample @@ -385,6 +385,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}'