[Libvirt-cim] [PATCH] [TEST] ElementCapabilities.05 for XenFV and KVM support

Guo Lian Yun yunguol at cn.ibm.com
Wed Apr 2 07:52:32 UTC 2008


# HG changeset patch
# User Guolian Yun <yunguol at cn.ibm.com>
# Date 1207122743 25200
# Node ID 701b8b384b1c48f38758ab5d68e6b3f5d3e4317a
# Parent  2a4a86706ee4bdb3cf3d0c20d38718e9fb6bc74f
[TEST] ElementCapabilities.05 for XenFV and KVM support

Signed-off-by: Guolian Yun <yunguol at cn.ibm.com>

diff -r 2a4a86706ee4 -r 701b8b384b1c suites/libvirt-cim/cimtest/ElementCapabilities/05_hostsystem_cap.py
--- a/suites/libvirt-cim/cimtest/ElementCapabilities/05_hostsystem_cap.py	Tue Apr 01 19:06:53 2008 +0530
+++ b/suites/libvirt-cim/cimtest/ElementCapabilities/05_hostsystem_cap.py	Wed Apr 02 00:52:23 2008 -0700
@@ -4,7 +4,8 @@
 #
 # Authors:
 #    Deepti B. Kalakeri <dkalaker at in.ibm.com>
-#
+#    Guolian Yun <yunguol at cn.ibm.com>
+#  
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public
 # License as published by the Free Software Foundation; either
@@ -50,11 +51,12 @@ from VirtLib import utils
 from VirtLib import utils
 from XenKvmLib.assoc import AssociatorNames
 from XenKvmLib.common_util import get_host_info
+from XenKvmLib.classes import get_typed_class
 from CimTest.Globals import log_param, logger, CIM_ERROR_ASSOCIATORNAMES
 from CimTest.Globals import do_main
 from CimTest.ReturnCodes import PASS, FAIL
 
-sup_types = ['Xen']
+sup_types = ['Xen', 'XenFV', 'KVM']
 
 def print_err(err, detail, cn):
     logger.error(err % cn)
@@ -79,15 +81,16 @@ def get_inst_from_list(cn, cs_list, filt
 
     return status, inst
 
-def get_assoc_info(server, cn, an, qcn, name):
+def get_assoc_info(server, cn, an, qcn, name, virt="Xen"):
     status = PASS
     assoc_info = []
     try:
         assoc_info = AssociatorNames(server,
                                          an,
                                          cn,
+                                       virt,
                      CreationClassName = cn,
-                                Name = name)
+                                Name = name,)
         if len(assoc_info) < 1:
             logger.error("%s returned %i %s objects" % (an, len(assoc_info), qcn))
             status = FAIL
@@ -96,10 +99,10 @@ def get_assoc_info(server, cn, an, qcn, 
         status = FAIL
     return status, assoc_info
 
-def get_association_info(server, service_fieldname, cn, an, qcn):
+def get_association_info(server, service_fieldname, cn, an, qcn, virt="Xen"):
     status  = PASS
     cn      = service_list[service_fieldname]['CreationClassName']
-    an      = 'Xen_ElementCapabilities'
+    an      = get_typed_class(virt, 'ElementCapabilities')
     qcn     = 'Capabilities'
     name    = service_list[service_fieldname]['Name']
     sccname = service_list[service_fieldname]['SystemCreationClassName']
@@ -109,6 +112,7 @@ def get_association_info(server, service
         assoc_info = AssociatorNames(server,
                                          an,
                                          cn,
+                                       virt,
                      CreationClassName = cn,
                                 Name = name,
             SystemCreationClassName=sccname,
@@ -137,12 +141,12 @@ def get_values(cn, service_assoc_info, f
     service_list[fieldname] = service_info 
     return status 
 
-def verify_cap_fields(server, service_fieldname, cap_key):
+def verify_cap_fields(server, service_fieldname, cap_key, virt="Xen"):
     cn      = service_list[service_fieldname]['CreationClassName'] 
-    an      = 'Xen_ElementCapabilities'
+    an      = get_typed_class(virt, 'ElementCapabilities')
     qcn     = 'Capabilities'
     status, cap_assoc_info = get_association_info(server, service_fieldname, \
-                                                                  cn, an, qcn)
+                                                                  cn, an, qcn, virt)
     if status != PASS or len(cap_assoc_info) == 0:
         return status
     cn = cap_assoc_info[0].classname
@@ -167,27 +171,27 @@ def main():
 
     # initialising the list
     service_list = { 'ManagementService' : 'Management Service', \
-                      'MigrationService' : 'MigrationService'
+                     'MigrationService' : 'MigrationService'
                    }
 
     # This will be used for the comparison at the end.
-    mgtcap = { 'ClassName'     : 'Xen_VirtualSystemManagementCapabilities', \
+    mgtcap = { 'ClassName'     : get_typed_class(options.virt, 'VirtualSystemManagementCapabilities'), \
                'InstanceID'    : 'ManagementCapabilities'
              }
-    migcap = { 'ClassName'     : 'Xen_VirtualSystemMigrationCapabilities', \
+    migcap = { 'ClassName'     : get_typed_class(options.virt, 'VirtualSystemMigrationCapabilities'), \
                'InstanceID'    : 'MigrationCapabilities'
              }
     cap_list = { 
                  'ManagementCapabilities' : mgtcap, \
                  'MigrationCapabilities'  : migcap
                }
-
+    
     # Get the host info
-    status, host_name, classname = get_host_info(server)
-    if status != PASS:
-        return status
-
-    an   = 'Xen_HostedService'
+    status, host_name, classname = get_host_info(server, options.virt)
+    if status != PASS:
+        return status
+
+    an   = get_typed_class(options.virt, 'HostedService')
     cn   = classname
     qcn  = 'Service'
     name = host_name
@@ -211,7 +215,7 @@ def main():
     # Query ElementCapabilities and verify the ManagementCapabilities information.
     service_fieldname = 'ManagementService'
     cap_key = 'ManagementCapabilities'
-    status = verify_cap_fields(server, service_fieldname, cap_key)
+    status = verify_cap_fields(server, service_fieldname, cap_key, options.virt)
     if status != PASS:
         logger.error("ManagementCapabilities Verification failed")
         return status




More information about the Libvirt-cim mailing list