[Libvirt-cim] [PATCH 2/2] cimtest: Add default network existence check to 06_parent_net_pool.py
John Ferlan
jferlan at redhat.com
Tue Aug 6 23:57:29 UTC 2013
On 07/31/2013 10:08 PM, Xu Wang wrote:
> From: Xu Wang <cngesaint at gmail.com>
>
> The default network card name is 'eth0' or 'em1'. But if the network
> card name doesn't contain those values, error would occur. So this patch
> will check if the default network card name exists in the network
> card name list. If not, the network card name would changed into
> the first one in the network card name list except lo.
>
> Signed-off-by: Xu Wang <gesaint at linux.vnet.ibm.com>
> ---
> .../libvirt-cim/cimtest/RASD/06_parent_net_pool.py | 16 +++++++++++++---
> 1 files changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/suites/libvirt-cim/cimtest/RASD/06_parent_net_pool.py b/suites/libvirt-cim/cimtest/RASD/06_parent_net_pool.py
> index 2c1f285..5f330e1 100644
> --- a/suites/libvirt-cim/cimtest/RASD/06_parent_net_pool.py
> +++ b/suites/libvirt-cim/cimtest/RASD/06_parent_net_pool.py
> @@ -39,7 +39,7 @@
> # -Netmask="255.255.255.0"
> # -IPRangeStart="192.168.122.2"
> # -IPRangeEnd="192.168.122.254"
> -# -ForwardDevice= [ verified for 'None' and "eth0" ]
> +# -ForwardDevice= [ verified for 'None' and network card name (default is 'eth0') ]
> # -ForwardMode=0 [ verified for 1,2 as well ]
> #
> #
> @@ -47,6 +47,7 @@
> # Date : 18-05-2009
>
> import sys
> +import os
> from sets import Set
> from CimTest.Globals import logger
> from XenKvmLib.const import do_main
> @@ -67,6 +68,15 @@ def main():
> options = main.options
> virt = options.virt
> server = options.ip
> + net_dev = 'eth0'
> +
> + # The default device name may not named 'eth0', so this case would
> + # return FAIL. The following code will check if default device exists in
> + # the network card list and if not, source_dev will be changed into the 1st
> + # network card in the list.
> + net_info = os.popen('ip addr').read()
> + if net_info.find(net_dev) == -1:
> + net_dev = net_info.split(': ')[3]
>
> status, netpool_rasd = get_pool_rasds(server, virt, filter_default=False)
> if status != PASS:
> @@ -80,8 +90,8 @@ def main():
> 'IPRangeStart' : "192.168.122.2",
> 'IPRangeEnd' : "192.168.122.254"
> }
> - exp_mode_device = [('None', 0L), ('None', 1L), ('eth0', 1L),
> - ('None', 2L), ('eth0', 2L)]
> + exp_mode_device = [('None', 0L), ('None', 1L), (net_dev, 1L),
> + ('None', 2L), (net_dev, 2L)]
'git am' gives a warning about extraneous whitespace... Thus...
s/1L), /1L),/
Beyond that - this test fails for me:
RASD - 06_parent_net_pool.py: FAIL
ERROR - Exception details: Mismatching Mode and device values, Got
[('None', 0L), ('None', 1L), ('em1', 1L), ('None', 2L), ('em1', 2L)],
Expected [('None', 0L), ('None', 1L), ('eth0', 1L), ('None', 2L),
('eth0', 2L)]
--------------------------------------------------------------------
It doesn't matter what I initialize 'net_dev' to (em1, foobar, etc), the
filling of 'n_rec' returns eth0. I wasn't able to directly run the
wbemcli command in the comments to the code, but it seems from reading
the libvirt-cim code:
"src/Virt_SettingsDefineCapabilities.c"
set_net_pool_props():
if (i == 1) {
CMSetProperty(inst, "ForwardDevice",
(CMPIValue *)"eth0", CMPI_chars);
}
It seems perhaps we need to fix that first!
John
> for inst_type in inst_list:
> logger.info("Verifying '%s' records", inst_type)
>
>
More information about the Libvirt-cim
mailing list