Kaitlin Rupert wrote:
# HG changeset patch
# User Kaitlin Rupert <karupert(a)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(a)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
Better way is to import time as below:
from time import sleep
-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
You can remove the blank line from here.
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
You can remove the blank line from here.
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)
Calling the cim_destroy leaves the following error message in the log,
since the domain would have already been destroyed:
Wed, 07 Jan 2009 03:49:43:TEST LOG:ERROR - Error invoking DestroySystem
Wed, 07 Jan 2009 03:49:43:TEST LOG:ERROR - Got error (1,
u'CIM_ERR_FAILED: Failed to find domain') with exception CIMError
+ cxml.undefine(ip)
return status
_______________________________________________
Libvirt-cim mailing list
Libvirt-cim(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik(a)linux.vnet.ibm.com