[Libvirt-cim] [PATCH] [TEST] #3 Fix HostSystem-01_enum.py to work with sblim base provider installed and without

Deepti B Kalakeri deeptik at linux.vnet.ibm.com
Thu Sep 25 09:54:39 UTC 2008



yunguol at cn.ibm.com wrote:
> # HG changeset patch
> # User Guolian Yun <yunguol at cn.ibm.com>
> # Date 1222312954 25200
> # Node ID 2321fefe8d19520613c3704ed511d8c3d43242e0
> # Parent  375ae129b8e910fe42a5e4434b67ada5589bc72f
> [TEST] #3 Fix HostSystem-01_enum.py to work with sblim base provider installed and without
>
> Signed-off-by: Guolian Yun <yunguol at cn.ibm.com>
>
> diff -r 375ae129b8e9 -r 2321fefe8d19 suites/libvirt-cim/cimtest/HostSystem/01_enum.py
> --- a/suites/libvirt-cim/cimtest/HostSystem/01_enum.py	Tue Sep 23 04:45:04 2008 -0700
> +++ b/suites/libvirt-cim/cimtest/HostSystem/01_enum.py	Wed Sep 24 20:22:34 2008 -0700
> @@ -27,6 +27,7 @@
>
>  import sys
>  from XenKvmLib import enumclass
> +from XenKvmLib.common_util import check_sblim
>  from XenKvmLib.classes import get_typed_class
>  from VirtLib import live
>  from VirtLib import utils
> @@ -43,27 +44,41 @@ def main():
>     
>      status = FAIL
>      keys = ['Name', 'CreationClassName']
> +    
> +    ret, linux_cs = check_sblim(options.ip, options.virt)
>      try:
>          hs = enumclass.enumerate(options.ip, 'HostSystem', keys, options.virt)
> -        name = get_typed_class(options.virt, 'HostSystem')
> -        
> -        if len(hs) != 1:
> -            logger.error("Expected 1 %s instance returned" % name)
> -            return FAIL
> -   
> -        system = hs[0]
> -
> -        if system.CreationClassName != name or system.Name != host:
> -            logger.error("Exp %s, got %s" % (name, system.CreationClassName))
> -            logger.error("Exp %s, got %s" % (host, system.Name))
> -            status = FAIL
> -        else:
> -            logger.info("%s is %s" % (name, host))
> -            status = PASS
> -
>      except Exception, details:
>          logger.error("%s %s: %s" % (CIM_ERROR_ENUMERATE, name, details))
>          status = FAIL
> +    hostname = get_typed_class(options.virt, 'HostSystem')   
> + 
> +    if ret == PASS and len(hs) == 0:
> +        name = 'Linux_ComputerSystem'
> +        system = linux_cs
> +    if ret == FAIL and len(hs) == 1:
> +        name = hostname
> +        system = hs[0]
> +    if system.CreationClassName != name or system.Name != host:
> +        logger.error("Exp %s, got %s" % (name, system.CreationClassName))
> +        logger.error("Exp %s, got %s" % (host, system.Name))
> +        status = FAIL
> +    else:
> +        logger.info("%s is %s" % (name, host))
> +        status = PASS
> +
> +    if ret == PASS and len(hs) == 1:
> +        if linux_cs.CreationClassName != 'Linux_ComputerSystem' \
> +           or linux_cs.Name != host \
> +           or hs[0].CreationClassName != hostname\
> +           or hs[0].Name != host:
> +            logger.error("Exp Linux_ComputerSystem, got %s" % linux_cs.CreationClassName)
> +            logger.error("Exp %s, got %s" % (host, linux_cs.Name))
> +            logger.error("Exp %s, got %s" % (hostname, hs[0].CreationClassName))
> +            logger.error("Exp %s, got %s" % (host, hs[0].Name))
> +            status = FAIL
>   
When sblim-base-provider is installed, I dont think we will have 
HostSystem and Linux_ComputerSystem both returning the info.
If both of them return values, then in that case the above check should 
return a FAIL instead of verifying the values, thoughts ??
Also, if my understanding is not complete, atleast the above checks 
should be separated.

> +        else:
> +            status = PASS
>
>      return status
>
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>   




More information about the Libvirt-cim mailing list