[Libvirt-cim] [PATCH 1 of 4] [TEST] Moving the init_list() to rasd.py

Deepti B. Kalakeri deeptik at linux.vnet.ibm.com
Thu Jun 12 09:44:37 UTC 2008


# HG changeset patch
# User Deepti B. Kalakeri <deeptik at linux.vnet.ibm.com>
# Date 1213262959 25200
# Node ID 6b52040f1dd92532abca3a7698d406f1bc369c7a
# Parent  b9100cec9aedb9f9243d753111a9a856e9480335
[TEST] Moving the init_list()  to rasd.py

1) Most of the tc use init_list() fn to verify the RASD values, hence moved it to rasd.py.
2) Added the logic to pick up the networktype used by the guest while creating to verify the RASD values.

Signed-off-by: Deepti B. Kalakeri <deeptik at linux.vnet.ibm.com>

diff -r b9100cec9aed -r 6b52040f1dd9 suites/libvirt-cim/lib/XenKvmLib/rasd.py
--- a/suites/libvirt-cim/lib/XenKvmLib/rasd.py	Wed Jun 11 03:38:49 2008 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/rasd.py	Thu Jun 12 02:29:19 2008 -0700
@@ -21,28 +21,96 @@
 #
 
 import sys
-from CimTest import Globals 
 from CimTest.Globals import log_param, logger
 from CimTest.ReturnCodes import FAIL, PASS
+from XenKvmLib.const import CIM_REV
+from XenKvmLib import vxml
+from XenKvmLib.classes import get_typed_class
+
 
 pasd_cn = 'ProcResourceAllocationSettingData'
 nasd_cn = 'NetResourceAllocationSettingData'
 dasd_cn = 'DiskResourceAllocationSettingData'
 masd_cn = 'MemResourceAllocationSettingData'
+global proc_cn, mem_cn, net_cn, disk_cn
+
+
+mem_units_rev = 529
+proc_instid_rev = 590
+
+def rasd_init_list(vsxml, virt, test_disk, test_dom, test_mac, test_mem):
+    """
+        Creating the lists that will be used for comparisons.
+    """
+    global proc_cn, mem_cn, net_cn, disk_cn
+    proc_cn = get_typed_class(virt, "Processor")
+    mem_cn = get_typed_class(virt, "Memory")
+    net_cn = get_typed_class(virt, "NetworkPort")
+    disk_cn = get_typed_class(virt, "LogicalDisk")
+    try:
+
+        disk_path = vsxml.xml_get_disk_source()
+
+        if CIM_REV < mem_units_rev:
+          alloc_units  = "MegaBytes"
+        else:
+          alloc_units  = "KiloBytes"
+
+        if CIM_REV < proc_instid_rev:
+           proc_id = '%s/%s' %(test_dom, 0)
+        else:
+           proc_id = '%s/%s' %(test_dom, "proc")
+       
+
+        rasd_values = { 
+                        proc_cn  : {
+                                     "InstanceID"   : proc_id,
+                                     "ResourceType" : 3,
+                                    }, 
+                        disk_cn  : {
+                                     "InstanceID"   : '%s/%s' %(test_dom, 
+                                                                test_disk), 
+                                     "ResourceType" : 17, 
+                                     "Address"      : disk_path, 
+                                    }, 
+                        net_cn   : {
+                                      "InstanceID"   : '%s/%s' %(test_dom, 
+                                                                 test_mac), 
+                                      "ResourceType" : 10 , 
+                                      "ntype"        : [ 'bridge', 'user',
+                                                         'network', 'ethernet'] 
+                                   }, 
+                        mem_cn   : {
+                                      "InstanceID"    : '%s/%s' %(test_dom, "mem"), 
+                                      "ResourceType"  : 4, 
+                                      "AllocationUnits" : alloc_units,
+                                      "VirtualQuantity" : (test_mem * 1024), 
+                                   }
+                      } 
+    except Exception, details:
+        logger.error("Exception: In fn rasd_init_list %s", details)
+        return FAIL, rasd_values
+
+    nettype   = vsxml.xml_get_net_type()
+    if not nettype in rasd_values[net_cn]['ntype']:
+        logger.info("Adding the %s net type", nettype)
+        rasd_values[net_cn]['ntype'].append(nettype)
+
+    return PASS, rasd_values
 
 def CCN_err(assoc_info, list):
-    Globals.logger.error("%s Mismatch", 'CreationClassName')
-    Globals.logger.error("Returned %s instead of %s", \
+    logger.error("%s Mismatch", 'CreationClassName')
+    logger.error("Returned %s instead of %s", \
          assoc_info['CreationClassName'], list['CreationClassName'])
     
 def RType_err(assoc_info, list):
-    Globals.logger.error("%s Mismatch", 'ResourceType')
-    Globals.logger.error("Returned %s instead of %s", \
+    logger.error("%s Mismatch", 'ResourceType')
+    logger.error("Returned %s instead of %s", \
          assoc_info['ResourceType'], list['ResourceType'])
 
 def InstId_err(assoc_info, list):
-    Globals.logger.error("%s Mismatch", 'InstanceID')
-    Globals.logger.error("Returned %s instead of %s", \
+    logger.error("%s Mismatch", 'InstanceID')
+    logger.error("Returned %s instead of %s", \
          assoc_info['InstanceID'], list['InstanceID'])
 
 def verify_procrasd_values(assoc_info, procrasd_list):
@@ -63,12 +131,10 @@
     if assoc_info['ResourceType'] != netrasd_list['ResourceType']:
         RType_err(assoc_info, netrasd_list)
         status = FAIL
-    if assoc_info['NetworkType'] != netrasd_list['ntype1'] and \
-       assoc_info['NetworkType'] != netrasd_list['ntype2']:
-        Globals.logger.error("%s Mismatch", 'NetworkType')
-        Globals.logger.error("Returned %s instead of %s or %s", \
-                             assoc_info['NetworkType'], netrasd_list['ntype1'],
-                             netrasd_list['ntype2'])
+    if not assoc_info['NetworkType'] in netrasd_list['ntype']:
+        logger.error("%s Mismatch", 'NetworkType')
+        logger.error("Returned '%s' instead of returning one of %s types",
+                         assoc_info['NetworkType'], netrasd_list['ntype'])
         status = FAIL
     return status
 
@@ -81,8 +147,8 @@
         RType_err(assoc_info, diskrasd_list)
         status = FAIL
     if assoc_info['Address'] != diskrasd_list['Address']:
-        Globals.logger.error("%s Mismatch", 'Address')
-        Globals.logger.error("Returned %s instead of %s ", \
+        logger.error("%s Mismatch", 'Address')
+        logger.error("Returned %s instead of %s ", \
               assoc_info['Address'], diskrasd_list['Address'])
         status = FAIL
     return status
@@ -96,13 +162,13 @@
         RType_err(assoc_info, memrasd_list)
         status = FAIL
     if assoc_info['AllocationUnits'] != memrasd_list['AllocationUnits']:
-        Globals.logger.error("%s Mismatch", 'AllocationUnits')
-        Globals.logger.error("Returned %s instead of %s ", \
+        logger.error("%s Mismatch", 'AllocationUnits')
+        logger.error("Returned %s instead of %s ", \
               assoc_info['AllocationUnits'],  memrasd_list['AllocationUnits'])
         status = FAIL 
     if assoc_info['VirtualQuantity'] != memrasd_list['VirtualQuantity']:
-        Globals.logger.error("%s mismatch", 'VirtualQuantity')
-        Globals.logger.error("Returned %s instead of %s ", \
+        logger.error("%s mismatch", 'VirtualQuantity')
+        logger.error("Returned %s instead of %s ", \
               assoc_info['VirtualQuantity'], memrasd_list['VirtualQuantity'])
         status = FAIL 
     return status




More information about the Libvirt-cim mailing list