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