[Libvirt-cim] [PATCH V2 3/3] cimtest: Add default network existence check to 06_parent_net_pool.py

John Ferlan jferlan at redhat.com
Thu Aug 8 19:39:51 UTC 2013


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 at 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)
>  
> 




More information about the Libvirt-cim mailing list