<br><tt><font size=2>libvirt-cim-bounces@redhat.com wrote on 2008-07-15
00:07:54:<br>
<br>
> # HG changeset patch<br>
> # User Kaitlin Rupert <karupert@us.ibm.com><br>
> # Date 1216051613 25200<br>
> # Node ID d44423ea6fcf1af4d75ccc69caa3fd727459a770<br>
> # Parent  7caeda6d0b06d47dd3e1b2758db16954e09725ce<br>
> [TEST] Remove guest creation from LogicalDisk - 02_nodevs.py.<br>
> <br>
> The point of this test is to ensure no devices are returned from <br>
> EnumerateInstances() in the case where no guest is defined (or in
<br>
> the case where only Domain-0 is defined).<br>
> <br>
> Also add support for LXC.<br>
> <br>
> In the case where devices.enumerate() encountered a CIM error, raise<br>
> an exception instead of printing an error.<br>
> <br>
> Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com><br>
> <br>
> diff -r 7caeda6d0b06 -r d44423ea6fcf suites/libvirt-<br>
> cim/cimtest/LogicalDisk/02_nodevs.py<br>
> --- a/suites/libvirt-cim/cimtest/LogicalDisk/02_nodevs.py   Mon
Jul <br>
> 14 08:42:34 2008 -0700<br>
> +++ b/suites/libvirt-cim/cimtest/LogicalDisk/02_nodevs.py   Mon
Jul <br>
> 14 09:06:53 2008 -0700<br>
> @@ -25,21 +25,23 @@<br>
>  <br>
>  import sys<br>
>  import pywbem<br>
> -from VirtLib import utils<br>
>  from VirtLib import live<br>
>  from XenKvmLib import devices<br>
> -from XenKvmLib.classes import get_typed_class<br>
> -from XenKvmLib.vxml import XenXML, KVMXML, get_class<br>
> -from XenKvmLib.test_doms import define_test_domain, undefine_test_domain<br>
> -from XenKvmLib.test_xml import testxml<br>
> -from CimTest.Globals import logger, do_main<br>
> +from CimTest.Globals import logger, do_main, CIM_ERROR_ENUMERATE<br>
> +from CimTest.ReturnCodes import PASS, FAIL, SKIP<br>
>  <br>
> -sup_types = ['Xen', 'KVM', 'XenFV']<br>
> +sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']<br>
>  <br>
>  test_dom = "test_domain"<br>
>  def clean_system(host, virt='Xen'):<br>
>      l = live.domain_list(host, virt)<br>
> -    if len(l) > 1:<br>
> +<br>
> +    if virt == "XenFV" or virt == "Xen":<br>
> +        if len(l) > 1:<br>
> +            return False <br>
> +        else:<br>
> +             return True</font></tt>
<br><tt><font size=2>      Typos error, it takes four spaces.</font></tt>
<br><tt><font size=2><br>
> +    elif len(l) > 0:<br>
>          return False<br>
>      else:<br>
>          return True<br>
> @@ -49,31 +51,27 @@<br>
>      options = main.options<br>
>      if not clean_system(options.ip, options.virt):<br>
>          logger.error("System has defined
domains; unable to run")<br>
> -        return 2<br>
> +        return SKIP<br>
>  <br>
> -    if options.virt == 'Xen':<br>
> -        test_dev = 'xvda'<br>
> -    else:<br>
> -        test_dev = 'hda'<br>
> +    key_list = ["DeviceID", "CreationClassName",
"SystemName", <br>
> +                "SystemCreationClassName"]<br>
>  <br>
> -    vsxml = get_class(options.virt)(test_dom, disk=test_dev)<br>
> -    ret = vsxml.define(options.ip)<br>
> -    if not ret:<br>
> -        logger.error("Failed to Define the
dom: %s", test_dom)<br>
> +    cn = "LogicalDisk"<br>
> +<br>
> +    try:<br>
> +        devs = devices.enumerate(options.ip,
cn, key_list, options.virt)<br>
> +<br>
> +    except Exception, details:<br>
> +        logger.error(CIM_ERROR_ENUMERATE, cn)<br>
> +        logger.error(details)<br>
>          return FAIL<br>
>  <br>
> -    devid = "%s/%s" % (test_dom, test_dev)<br>
> +    if len(devs) != 0:<br>
> +        logger.error("%s returned %d instead
of empty list" % (cn, <br>
> len(devs)))<br>
> +        status = FAIL<br>
> +    else:<br>
> +        status = PASS <br>
>  <br>
> -    status = 0<br>
> -    key_list = ["DeviceID", "CreationClassName",
"SystemName", <br>
> "SystemCreationClassName"]<br>
> -<br>
> -    devs = devices.enumerate(options.ip, 'LogicalDisk',
key_list)<br>
> -    if devs.__class__ == str:<br>
> -        logger.error("Got error instead
of empty list: %s" % devs)<br>
> -        status = 1    <br>
> -<br>
> -    vsxml.undefine(options.ip)<br>
> -    <br>
>      return status<br>
>  <br>
>  if __name__ == "__main__":<br>
> diff -r 7caeda6d0b06 -r d44423ea6fcf suites/libvirt-<br>
> cim/lib/XenKvmLib/devices.py<br>
> --- a/suites/libvirt-cim/lib/XenKvmLib/devices.py   Mon Jul 14
08:<br>
> 42:34 2008 -0700<br>
> +++ b/suites/libvirt-cim/lib/XenKvmLib/devices.py   Mon Jul 14
09:<br>
> 06:53 2008 -0700<br>
> @@ -85,6 +85,9 @@<br>
>  class KVM_LogicalDisk(CIM_LogicalDisk):<br>
>      pass<br>
>  <br>
> +class LXC_LogicalDisk(CIM_LogicalDisk):<br>
> +    pass<br>
> +<br>
>  class Xen_NetworkPort(CIM_NetworkPort):<br>
>      pass<br>
>  <br>
> @@ -123,7 +126,7 @@<br>
>      try:<br>
>          names = conn.EnumerateInstanceNames(devtype.__name__)<br>
>      except pywbem.CIMError, arg:<br>
> -        print arg[1]<br>
> +        raise Exception("%s" % arg[1])<br>
>          return list<br>
>  <br>
>      for name in names:<br>
> <br>
> _______________________________________________<br>
> Libvirt-cim mailing list<br>
> Libvirt-cim@redhat.com<br>
> https://www.redhat.com/mailman/listinfo/libvirt-cim<br>
</font></tt>