
On 08/07/2013 04:37 AM, Xu Wang wrote:
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.
Signed-off-by: Xu Wang <gesaint@linux.vnet.ibm.com> --- .../libvirt-cim/cimtest/RASD/06_parent_net_pool.py | 25 +++++++++++++++++-- 1 files changed, 22 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..d8b82ca 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,8 @@ # -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 forward device name \ +# (default is 'eth0' if available) ] # -ForwardMode=0 [ verified for 1,2 as well ] # # @@ -47,6 +48,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 +69,23 @@ 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. + f = open("/proc/net/dev") + lines = f.readlines() + f.close() + if str(lines).find(net_dev) <> -1: + """ + net_dev exists in the network info list and keep it. + """ + else: + line = lines[2] + con = line.split(":") + net_dev = con[0].strip(" ")
This is a very different algorithm than how you get the valid network interfaces in libvirt-cim - hence you get different results. Like 1/3 - there needs to be a common interface which this can reference
status, netpool_rasd = get_pool_rasds(server, virt, filter_default=False) if status != PASS: @@ -80,8 +99,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),
^ Again, 'git am' reports trailing whitespace on the above line - there's an extra space at the end. John
+ ('None', 2L), (net_dev, 2L)] for inst_type in inst_list: logger.info("Verifying '%s' records", inst_type)