[Libvirt-cim] [PATCH] [TEST] Update CSI 01 to use cim_() functions

Kaitlin Rupert kaitlin at linux.vnet.ibm.com
Tue Jan 6 19:55:15 UTC 2009


# HG changeset patch
# User Kaitlin Rupert <karupert at us.ibm.com>
# Date 1231271658 28800
# Node ID d0b13b624d8c54bb8c625f3d0855ac7f80cdcdbd
# Parent  270c97141e74456e051361572b2ba77af8f0fd94
[TEST] Update CSI 01 to use cim_() functions.

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

diff -r 270c97141e74 -r d0b13b624d8c suites/libvirt-cim/cimtest/ComputerSystemIndication/01_created_indication.py
--- a/suites/libvirt-cim/cimtest/ComputerSystemIndication/01_created_indication.py	Tue Jan 06 11:09:46 2009 -0800
+++ b/suites/libvirt-cim/cimtest/ComputerSystemIndication/01_created_indication.py	Tue Jan 06 11:54:18 2009 -0800
@@ -24,23 +24,17 @@
 import os
 import signal
 import time
-from pywbem.cim_obj import CIMInstanceName
 from CimTest.Globals import logger
 from XenKvmLib.const import do_main
 from CimTest.ReturnCodes import PASS, FAIL
-from XenKvmLib.common_util import create_using_definesystem, \
-                                  call_request_state_change
-from XenKvmLib.test_doms import destroy_and_undefine_domain 
 from XenKvmLib.classes import get_typed_class
 from XenKvmLib.indication_tester import CIMIndicationSubscription
 from XenKvmLib.vxml import set_default
-from XenKvmLib.vsms import get_vsms_class
+from XenKvmLib.vxml import get_class
 
 SUPPORTED_TYPES = ['Xen', 'XenFV', 'KVM']
 
 test_dom = "domU"
-REQ_STATE = 2
-TIME = "00000000000000.000000:000"
 
 def sub_ind(ip, virt):
     dict = set_default(ip)
@@ -70,28 +64,24 @@
 
     return sub_list, ind_names, dict
 
-def gen_ind(test_dom, ip, vtype, ind):
+def gen_ind(test_dom, ip, vtype, ind, cxml):
     if ind == "define":
-        return create_using_definesystem(test_dom, ip, virt=vtype)
+        ret = cxml.cim_define(ip)
+        if not ret:
+            return FAIL 
+        return PASS
 
     elif ind == "start":
-        rc = call_request_state_change(test_dom, ip, REQ_STATE, TIME, vtype)
-        if rc != 0:
-            logger.error("Failed to start domain: %s" % test_dom)
+        status = cxml.cim_start(ip)
+        if status != PASS:
+            logger.error("Failed to start domain: %s", test_dom)
             return FAIL
         return PASS
 
     elif ind == "destroy":
-        service = get_vsms_class(vtype)(ip)
-        try:
-            classname = get_typed_class(vtype, 'ComputerSystem')
-            cs_ref = CIMInstanceName(classname, keybindings = {
-                                     'Name':test_dom,
-                                     'CreationClassName':classname})
-            service.DestroySystem(AffectedSystem=cs_ref)
-        except Exception, details:
-            logger.error('Unknow exception happened')
-            logger.error(details)
+        ret = cxml.cim_destroy(ip)
+        if not ret:
+            logger.error("Unable to destroy %s", test_dom)
             return FAIL
         return PASS
         
@@ -151,12 +141,16 @@
 @do_main(SUPPORTED_TYPES)
 def main():
     options = main.options
+    ip = options.ip
+    virt = options.virt
     status = FAIL
 
-    sub_list, ind_names, dict = sub_ind(options.ip, options.virt)
+    sub_list, ind_names, dict = sub_ind(ip, virt)
 
     ind_list = ["define", "start", "destroy"]
 
+    cxml = get_class(virt)(test_dom)
+
     for ind in ind_list:
         sub = sub_list[ind]
         ind_name = ind_names[ind]
@@ -171,7 +165,7 @@
                 os._exit(0)
             else:
                 try:
-                    status = gen_ind(test_dom, options.ip, options.virt, ind)
+                    status = gen_ind(test_dom, ip, virt, ind, cxml)
                     if status != PASS:
                         os.kill(pid, signal.SIGKILL)
                         raise Exception("Unable to generate indication") 
@@ -190,7 +184,8 @@
         sub.unsubscribe(dict['default_auth'])
         logger.info("Cancelling subscription for %s" % ind_names[ind])
        
-    destroy_and_undefine_domain(test_dom, options.ip, options.virt)
+    cxml.cim_destroy(ip)
+    cxml.undefine(ip)
 
     return status
 




More information about the Libvirt-cim mailing list