+1 from me.


Best,
Regards

Daisy (Ô˹úÁ«)
VSM Team, China Systems & Technology Labs (CSTL)
E-mail: yunguol@cn.ibm.com
TEL: (86)-21-60922403
Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203



Kaitlin Rupert <kaitlin@linux.vnet.ibm.com>
Sent by: libvirt-cim-bounces@redhat.com

2008-12-03 06:56
Please respond to
List for discussion and development of libvirt CIM        <libvirt-cim@redhat.com>

To
libvirt-cim@redhat.com
cc
Subject
[Libvirt-cim] [PATCH] [TEST] Add branch to AC for expected pool        length





# HG changeset patch
# User Kaitlin Rupert <karupert@us.ibm.com>
# Date 1228258522 28800
# Node ID 04ee80afcbcb711111d990c771c4427dae2a0256
# Parent  ec1b901cf22d440a8461abfe633e8a634ee112ce
[TEST] Add branch to AC for expected pool length.

Also, change the layout of the test so that the flow makes a little more sense.

Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com>

diff -r ec1b901cf22d -r 04ee80afcbcb suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py
--- a/suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py                 Tue Dec 02 13:28:51 2008 -0800
+++ b/suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py                 Tue Dec 02 14:55:22 2008 -0800
@@ -27,28 +27,35 @@

import sys
from XenKvmLib.enumclass import EnumInstances
-from XenKvmLib.const import do_main, platform_sup
+from XenKvmLib.const import do_main, platform_sup, get_provider_version
from CimTest.Globals import logger, CIM_ERROR_ENUMERATE
from CimTest.ReturnCodes import PASS, FAIL
from XenKvmLib.common_util import cleanup_restore
from XenKvmLib.classes import get_typed_class

sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
+input_graphics_pool_rev = 757

-def enum_pools_and_ac(ip, ac_cn, p_names):
+def enum_pools(ip, ac_cn, virt):
+    pt = [get_typed_class(virt, 'MemoryPool'),
+          get_typed_class(virt, 'ProcessorPool'),
+          get_typed_class(virt, 'DiskPool'),
+          get_typed_class(virt, 'NetworkPool')]
+
+    curr_cim_rev, changeset = get_provider_version(virt, ip)
+    if curr_cim_rev >= input_graphics_pool_rev:
+          pt.append(get_typed_class(virt, 'GraphicsPool'))
+          pt.append(get_typed_class(virt, 'InputPool'))
+
    pools = {}
-    ac = []

    try:
-        ac = EnumInstances(ip, ac_cn)
-
-        for p_cn in p_names:
+        for p_cn in pt:
           
            enum_list = EnumInstances(ip, p_cn)

            if len(enum_list) < 1:
-                logger.error("%s did not return any instances" % p_cn)
-                return pools, ac
+                raise Exception("%s did not return any instances" % p_cn)

            for pool in enum_list:
                pools[pool.InstanceID] = pool
@@ -56,12 +63,13 @@
    except Exception, details:
        logger.error(CIM_ERROR_ENUMERATE, ac_cn)
        logger.error(details)
-        return pools, ac
+        return pools, FAIL

-    if len(ac) != len(pools):
-        logger.error("%s returned %s instances, expected %s" % (ac_cn, len(ac),
-                     len(pools)))
-    return pools, ac
+    if len(pools) < len(pt):
+        logger.error("%d pools returned, exp at least %d", len(pools), len(pt))
+        return pools, FAIL
+
+    return pools, PASS

def compare_pool_to_ac(ac, pools, cn):
    try:
@@ -84,17 +92,21 @@
    options = main.options

    cn = get_typed_class(options.virt, 'AllocationCapabilities')
-    pt = [get_typed_class(options.virt, 'MemoryPool'),
-          get_typed_class(options.virt, 'ProcessorPool'),
-          get_typed_class(options.virt, 'DiskPool'),
-          get_typed_class(options.virt, 'NetworkPool'),
-          get_typed_class(options.virt, 'GraphicsPool'),
-          get_typed_class(options.virt, 'InputPool')]

-    pools, ac = enum_pools_and_ac(options.ip, cn, pt)
-    if len(pools) < 4:
-        logger.error("Only %d pools returned, expected at least 4" % len(pools))
-        cleanup_restore(options.ip, options.virt)
+    try:
+        ac = EnumInstances(options.ip, cn)
+
+    except Exception, details:
+        logger.error(CIM_ERROR_ENUMERATE, cn)
+        logger.error(details)
+        return FAIL
+
+    pools, status = enum_pools(options.ip, cn, options.virt)
+    if status != PASS:
+        return status
+
+    if len(ac) != len(pools):
+        logger.error("%d %s insts != %d pool insts" % (len(ac), cn, len(pools)))
        return FAIL

    status = compare_pool_to_ac(ac, pools, cn)

_______________________________________________
Libvirt-cim mailing list
Libvirt-cim@redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim