[Libvirt-cim] [PATCH] [TEST] Add revision branch to RASD.01 & 02

zli at linux.vnet.ibm.com zli at linux.vnet.ibm.com
Mon Apr 28 09:03:48 UTC 2008


# HG changeset patch
# User Zhengang Li <lizg at cn.ibm.com>
# Date 1209373236 -28800
# Node ID 5ed6cd841f7b65eeea4af7af845c4ebfc2da4cf1
# Parent  22ed2c7c77e8ff3d96b40f1e0db2a931b5a7c37e
[TEST] Add revision branch to RASD.01 & 02

- Added prev & mrev for 'proc' vs. '0', 'KiloBytes' vs. 'MegaBytes' issue.
- Updated style format.
- Added commonly used class name in XenKvmLib.rasd

Signed-off-by: Zhengang Li <lizg at cn.ibm.com>

diff -r 22ed2c7c77e8 -r 5ed6cd841f7b suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py
--- a/suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py	Fri Apr 25 03:20:54 2008 -0700
+++ b/suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py	Mon Apr 28 17:00:36 2008 +0800
@@ -47,18 +47,14 @@
 
 
 import sys
-from XenKvmLib import enumclass
-from VirtLib import utils
 from CimTest import Globals
 from CimTest.Globals import do_main
 from XenKvmLib.test_doms import destroy_and_undefine_all
-import XenKvmLib
 from XenKvmLib import assoc
 from XenKvmLib import vxml 
-from XenKvmLib.vxml import XenXML, KVMXML, get_class
 from XenKvmLib.classes import get_typed_class
-from XenKvmLib.rasd import verify_procrasd_values, verify_netrasd_values, \
-verify_diskrasd_values, verify_memrasd_values 
+from XenKvmLib import rasd 
+from XenKvmLib.const import CIM_REV
 from CimTest.Globals import logger
 from CimTest.ReturnCodes import PASS, FAIL
 
@@ -68,42 +64,40 @@ test_vcpus  = 1
 test_vcpus  = 1
 test_mem    = 128
 test_mac    = "00:11:22:33:44:aa"
+prev = 531
+mrev = 529
 
 def init_list(xml, disk, virt="Xen"):
     """
         Creating the lists that will be used for comparisons.
     """
     procrasd = {
-                 "InstanceID" : '%s/%s' %(test_dom, "proc"),\
-                 "ResourceType" : 3,\
-                 "CreationClassName": get_typed_class(virt, 'ProcResourceAllocationSettingData')
-                }
-
+            "InstanceID" : '%s/%s' % (test_dom,
+                CIM_REV < prev and "0" or "proc"),
+            "ResourceType" : 3,
+            "CreationClassName" : get_typed_class(virt, rasd.pasd_cn)}
     netrasd = {
-                "InstanceID"  : '%s/%s' %(test_dom,test_mac), \
-                "ResourceType" : 10 , \
-                "ntype1": "bridge", \
-                "ntype2": "ethernet", \
-                "CreationClassName": get_typed_class(virt, 'NetResourceAllocationSettingData')
-               }
-
+            "InstanceID" : '%s/%s' % (test_dom,test_mac),
+            "ResourceType" : 10 ,
+            "ntype1" : "bridge",
+            "ntype2" : "ethernet",
+            "CreationClassName" : get_typed_class(virt, rasd.nasd_cn)}
     address = xml.xml_get_disk_source()
     diskrasd = {
-                "InstanceID"  : '%s/%s' %(test_dom, disk), \
-                "ResourceType" : 17, \
-                "Address"      : address, \
-                "CreationClassName": get_typed_class(virt, 'DiskResourceAllocationSettingData')
-               }
+            "InstanceID" : '%s/%s' % (test_dom, disk),
+            "ResourceType" : 17,
+            "Address" : address,
+            "CreationClassName" : get_typed_class(virt, rasd.dasd_cn)}
     memrasd = {
-               "InstanceID"  : '%s/%s' %(test_dom, "mem"), \
-               "ResourceType" : 4, \
-               "AllocationUnits" : "KiloBytes",\
-               "VirtualQuantity" : (test_mem * 1024), \
-               "CreationClassName": get_typed_class(virt, 'MemResourceAllocationSettingData')
-              }
+            "InstanceID" : '%s/%s' % (test_dom, "mem"),
+            "ResourceType" : 4,
+            "AllocationUnits" : CIM_REV < mrev and "MegaBytes" or "KiloBytes",
+            "VirtualQuantity" : (test_mem * 1024),
+            "CreationClassName" : get_typed_class(virt, rasd.masd_cn)}
+    
     return procrasd, netrasd, diskrasd, memrasd
 
-def assoc_values(ip, assoc_info, xml, disk, virt="Xen"):
+def assoc_values(assoc_info, xml, disk, virt="Xen"):
     procrasd, netrasd, diskrasd, memrasd = init_list(xml, disk, virt)
     proc_status = 1
     net_status  = 0
@@ -111,15 +105,15 @@ def assoc_values(ip, assoc_info, xml, di
     mem_status  = 1
     status = 0
     try: 
-        for i in range(len(assoc_info)): 
-            if assoc_info[i]['InstanceID'] == procrasd['InstanceID']: 
-                proc_status = verify_procrasd_values(assoc_info[i], procrasd)
-            elif assoc_info[i]['InstanceID'] == netrasd['InstanceID']:
-                net_status  = verify_netrasd_values(assoc_info[i], netrasd)
-            elif assoc_info[i]['InstanceID'] == diskrasd['InstanceID']:
-                disk_status = verify_diskrasd_values(assoc_info[i], diskrasd)
-            elif assoc_info[i]['InstanceID'] == memrasd['InstanceID']:
-                mem_status  = verify_memrasd_values(assoc_info[i], memrasd)
+        for res in assoc_info: 
+            if res['InstanceID'] == procrasd['InstanceID']: 
+                proc_status = rasd.verify_procrasd_values(res, procrasd)
+            elif res['InstanceID'] == netrasd['InstanceID']:
+                net_status  = rasd.verify_netrasd_values(res, netrasd)
+            elif res['InstanceID'] == diskrasd['InstanceID']:
+                disk_status = rasd.verify_diskrasd_values(res, diskrasd)
+            elif res['InstanceID'] == memrasd['InstanceID']:
+                mem_status  = rasd.verify_memrasd_values(res, memrasd)
             else:
                 status = 1
         if status != 0 or proc_status != 0 or net_status != 0 or \
@@ -135,8 +129,7 @@ def assoc_values(ip, assoc_info, xml, di
 @do_main(sup_types)
 def main():
     options = main.options
-    status = 0 
-    rc = 1
+    status = PASS 
     destroy_and_undefine_all(options.ip)
     if options.virt == 'Xen':
         test_disk = 'xvda'
@@ -144,31 +137,32 @@ def main():
         test_disk = 'hda'
 
     virt_xml = vxml.get_class(options.virt)
-    cxml = virt_xml(test_dom, mem=test_mem, vcpus = test_vcpus, mac = test_mac, disk = test_disk)
+    cxml = virt_xml(test_dom, mem=test_mem, vcpus = test_vcpus,
+                    mac = test_mac, disk = test_disk)
     ret = cxml.create(options.ip)
     if not ret:
         logger.error('Unable to create domain %s' % test_dom)
         return FAIL 
     if status == 1: 
         destroy_and_undefine_all(options.ip)
-        return 1
+        return FAIL
     if options.virt == "XenFV":
         instIdval = "Xen:%s" % test_dom
     else:
         instIdval = "%s:%s" % (options.virt, test_dom)
-    
+
+    vssdc_cn = 'VirtualSystemSettingDataComponent'
+    vssd_cn = 'VirtualSystemSettingData'
     try:
-        assoc_info = assoc.Associators(options.ip, \
-                                       'VirtualSystemSettingDataComponent', \
-                                       'VirtualSystemSettingData', \
-                                       options.virt, \
+        assoc_info = assoc.Associators(options.ip, vssdc_cn, vssd_cn, 
+                                       options.virt,
                                        InstanceID = instIdval)
-        status = assoc_values(options.ip, assoc_info, cxml, test_disk, options.virt)
+        status = assoc_values(assoc_info, cxml, test_disk, options.virt)
     except  Exception, details:
-        logger.error(Globals.CIM_ERROR_ASSOCIATORS, \
-                     get_typed_class(options.virt, 'VirtualSystemSettingDataComponent'))
+        logger.error(Globals.CIM_ERROR_ASSOCIATORS, 
+                     get_typed_class(options.virt, vssdc_cn))
         logger.error("Exception : %s" % details)
-        status = 1 
+        status = FAIL 
     
     try:
         cxml.destroy(options.ip)
diff -r 22ed2c7c77e8 -r 5ed6cd841f7b suites/libvirt-cim/cimtest/RASD/02_enum.py
--- a/suites/libvirt-cim/cimtest/RASD/02_enum.py	Fri Apr 25 03:20:54 2008 -0700
+++ b/suites/libvirt-cim/cimtest/RASD/02_enum.py	Mon Apr 28 17:00:36 2008 +0800
@@ -28,14 +28,13 @@
 
 
 import sys
-import XenKvmLib
 from XenKvmLib import enumclass
 from CimTest.Globals import do_main, CIM_ERROR_ENUMERATE
 from XenKvmLib.test_doms import destroy_and_undefine_all
 from XenKvmLib.vxml import get_class
 from XenKvmLib.classes import get_typed_class
-from XenKvmLib.rasd import verify_procrasd_values, verify_netrasd_values, \
-verify_diskrasd_values, verify_memrasd_values 
+from XenKvmLib import rasd 
+from XenKvmLib.const import CIM_REV
 from CimTest.Globals import logger
 from CimTest.ReturnCodes import PASS, FAIL
 
@@ -45,41 +44,39 @@ test_vcpus  = 1
 test_vcpus  = 1
 test_mem    = 128
 test_mac    = "00:11:22:33:44:aa"
+prev = 531
+mrev = 529
 
-def init_list(virt="Xen"):
+def init_list(virt):
     """
         Creating the lists that will be used for comparisons.
     """
-    procrasd = {
-                 "InstanceID" : '%s/%s' %(test_dom, "proc"),\
-                 "ResourceType" : 3,\
-                 "CreationClassName": get_typed_class(virt, 'ProcResourceAllocationSettingData')
-                }
+    proc = {
+            "InstanceID" : '%s/%s' % (test_dom, 
+                CIM_REV < prev and "0" or "proc"),
+            "ResourceType" : 3,
+            "CreationClassName" : get_typed_class(virt, rasd.pasd_cn)}
+    net = {
+            "InstanceID" : '%s/%s' % (test_dom,test_mac),
+            "ResourceType" : 10 ,
+            "ntype1" : "bridge",
+            "ntype2" : "ethernet",
+            "CreationClassName" : get_typed_class(virt, rasd.nasd_cn)}
+    address = vsxml.xml_get_disk_source()
+    disk = {
+            "InstanceID"  : '%s/%s' % (test_dom, test_disk),
+            "ResourceType" : 17,
+            "Address" : address,
+            "CreationClassName" : get_typed_class(virt, rasd.dasd_cn)}
+    mem = {
+            "InstanceID" : '%s/%s' % (test_dom, "mem"),
+            "ResourceType" : 4,
+            "AllocationUnits" : CIM_REV < mrev and "MegaBytes" or "KiloBytes",
+            "VirtualQuantity" : (test_mem * 1024),
+            "CreationClassName" : get_typed_class(virt, rasd.masd_cn)}
+    return proc, net, disk, mem
 
-    netrasd = {
-                "InstanceID"  : '%s/%s' %(test_dom,test_mac), \
-                "ResourceType" : 10 , \
-                "ntype1": "bridge", \
-                "ntype2": "ethernet", \
-                "CreationClassName": get_typed_class(virt, 'NetResourceAllocationSettingData')
-               }
-    address = vsxml.xml_get_disk_source()
-    diskrasd = {
-                "InstanceID"  : '%s/%s' %(test_dom, test_disk), \
-                "ResourceType" : 17, \
-                "Address"      : address, \
-                "CreationClassName": get_typed_class(virt, 'DiskResourceAllocationSettingData')
-               }
-    memrasd = {
-               "InstanceID"  : '%s/%s' %(test_dom, "mem"), \
-               "ResourceType" : 4, \
-               "AllocationUnits" : "KiloBytes",\
-               "VirtualQuantity" : (test_mem * 1024), \
-               "CreationClassName": get_typed_class(virt, 'MemResourceAllocationSettingData')
-              }
-    return procrasd, netrasd, diskrasd, memrasd
-
-def get_inst_from_list(classname, rasd_list, filter_name, exp_val):
+def get_inst_from_list(server, classname, rasd_list, filter_name, exp_val):
     status = PASS
     ret = FAIL 
     inst = []
@@ -94,14 +91,14 @@ def get_inst_from_list(classname, rasd_l
         status = FAIL
     return status, inst
 
-def get_rasd_values(classname):
+def get_rasd_values(classname, virt, server):
     status = PASS
     rasd_list   = []
     try:
-        rasd_list = enumclass.enumerate_inst(server, eval('enumclass.' + classname), virt)
+        rasd_list = enumclass.enumerate_inst(server, classname, virt)
         if len(rasd_list) < 1:
-            logger.error("%s returned %i instances, excepted atleast 1 instance", classname, \
-                                                                               len(rasd_list))
+            logger.error("%s returned %i instances, excepted at least 1.",
+                    classname, len(rasd_list))
             return FAIL, rasd_list
     except Exception, detail:
         logger.error(CIM_ERROR_ENUMERATE, classname)
@@ -111,7 +108,8 @@ def get_rasd_values(classname):
     # Get the RASD info related to the domain "ONLY". 
     # We should get atleast one record.
     filter_name =  {"key" : "InstanceID"}
-    status, rasd_values = get_inst_from_list(classname, rasd_list, filter_name, test_dom)
+    status, rasd_values = get_inst_from_list(server, classname, rasd_list,
+                                             filter_name, test_dom)
     if status != PASS or len(rasd_values) == 0:
         return status, rasd_values
 
@@ -122,14 +120,14 @@ def verify_rasd_values(rasd_values_info)
     try: 
         for rasd_instance in rasd_values_info:
             CCName = rasd_instance.classname
-            if 'ProcResourceAllocationSettingData' in CCName :
-                status = verify_procrasd_values(rasd_instance, procrasd,)
-            elif 'NetResourceAllocationSettingData' in CCName :
-                status  = verify_netrasd_values(rasd_instance, netrasd)
-            elif 'DiskResourceAllocationSettingData' in CCName:
-                status = verify_diskrasd_values(rasd_instance, diskrasd)
-            elif 'MemResourceAllocationSettingData' in CCName :
-                status  = verify_memrasd_values(rasd_instance, memrasd)
+            if rasd.pasd_cn in CCName :
+                status = rasd.verify_procrasd_values(rasd_instance, procrasd,)
+            elif rasd.nasd_cn in CCName :
+                status = rasd.verify_netrasd_values(rasd_instance, netrasd)
+            elif rasd.dasd_cn in CCName:
+                status = rasd.verify_diskrasd_values(rasd_instance, diskrasd)
+            elif rasd.masd_cn in CCName :
+                status = rasd.verify_memrasd_values(rasd_instance, memrasd)
             else:
                 status = FAIL
             if status != PASS:
@@ -142,32 +140,31 @@ def verify_rasd_values(rasd_values_info)
    
 @do_main(sup_types)
 def main():
-    options = main.options
-    destroy_and_undefine_all(options.ip)
+    virt = main.options.virt
+    server = main.options.ip
+    destroy_and_undefine_all(server)
     global test_disk, vsxml
-    global virt, server
     global procrasd, netrasd, diskrasd, memrasd
-    server = options.ip 
-    virt = options.virt
     if virt == "Xen":
         test_disk = "xvda"
     else:
         test_disk = "hda"
-    vsxml = get_class(virt)(test_dom, mem=test_mem, vcpus = test_vcpus, mac = test_mac, 
-                                                                      disk = test_disk)
+    virtxml = get_class(virt)
+    vsxml = virtxml(test_dom, mem=test_mem, vcpus = test_vcpus,
+                    mac = test_mac, disk = test_disk)
     try:
-        bridge = vsxml.set_vbridge(server)
-        ret = vsxml.define(options.ip)
+        vsxml.set_vbridge(server)
+        ret = vsxml.define(server)
         if not ret:
             logger.error("Failed to Define the domain: %s", test_dom)
             return FAIL 
     except Exception, details:
         logger.error("Exception : %s", details)
         return FAIL
-    class_list = [ get_typed_class(virt, "DiskResourceAllocationSettingData"), 
-                   get_typed_class(virt, "MemResourceAllocationSettingData"), 
-                   get_typed_class(virt, "ProcResourceAllocationSettingData"), 
-                   get_typed_class(virt, "NetResourceAllocationSettingData")
+    class_list = [ get_typed_class(virt, rasd.dasd_cn), 
+                   get_typed_class(virt, rasd.masd_cn), 
+                   get_typed_class(virt, rasd.pasd_cn), 
+                   get_typed_class(virt, rasd.nasd_cn)
                  ]  
     status = PASS 
     procrasd, netrasd, diskrasd, memrasd = init_list(virt)
@@ -175,11 +172,12 @@ def main():
     # For each loop
     # 1) Enumerate one RASD type
     # 2) Get the RASD info related to the domain "ONLY".
-    # 3) Verifies the RASD values with those supplied during defining the domain.
+    # 3) Verifies the RASD values with those supplied during
+    #    defining the domain.
 
     for classname in sorted(class_list):
         # Enumerate each RASD types
-        status, rasd_values = get_rasd_values(classname)
+        status, rasd_values = get_rasd_values(classname, virt, server)
         if status != PASS or len(rasd_values) ==0 :
             break
 
diff -r 22ed2c7c77e8 -r 5ed6cd841f7b suites/libvirt-cim/lib/XenKvmLib/rasd.py
--- a/suites/libvirt-cim/lib/XenKvmLib/rasd.py	Fri Apr 25 03:20:54 2008 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/rasd.py	Mon Apr 28 17:00:36 2008 +0800
@@ -24,6 +24,11 @@ from CimTest import Globals
 from CimTest import Globals 
 from CimTest.Globals import log_param, logger
 from CimTest.ReturnCodes import FAIL, PASS
+
+pasd_cn = 'ProcResourceAllocationSettingData'
+nasd_cn = 'NetResourceAllocationSettingData'
+dasd_cn = 'DiskResourceAllocationSettingData'
+masd_cn = 'MemResourceAllocationSettingData'
 
 def CCN_err(assoc_info, list):
     Globals.logger.error("%s Mismatch", 'CreationClassName')




More information about the Libvirt-cim mailing list