
Ah, oops! Careless errors there. Thanks for catching these Deepti =) Deepti B Kalakeri wrote:
Kaitlin Rupert wrote:
# HG changeset patch # User Kaitlin Rupert <karupert@us.ibm.com> # Date 1251828184 25200 # Node ID ddb880e221d36151a9f91c3b0ab95f9cca97c2fa # Parent 95fa64bf447e5bc2bab501564e3d9336edef997d [TEST] Add try / except to VSMS 15
This will catch any unexpected exceptions. Otherwise, the exception isn't caught and the guest may not be properly undefined
Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com>
diff -r 95fa64bf447e -r ddb880e221d3 suites/libvirt-cim/cimtest/VirtualSystemManagementService/15_mod_system_settings.py
--- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/15_mod_system_settings.py Thu Aug 27 16:39:53 2009 -0700 +++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/15_mod_system_settings.py Tue Sep 01 11:03:04 2009 -0700 @@ -74,72 +74,71 @@
Though it is not part of the changes in this patch, can you remove the following import statements from the tc:
remove the import statement for default_network_name
cxml = vxml.get_class(options.virt)(default_dom, vcpus=cpu) service = vsms.get_vsms_class(options.virt)(options.ip)
- for case in test_cases: - #Each time through, define guest using a default XML - cxml.undefine(options.ip) - cxml = vxml.get_class(options.virt)(default_dom, vcpus=cpu) - ret = cxml.cim_define(options.ip) - if not ret: - logger.error("Failed to define the dom: %s", default_dom) - cleanup_env(options.ip, cxml) - return FAIL + try:
- if case == "start": - ret = cxml.start(options.ip) + for case in test_cases: + #Each time through, define guest using a default XML + cxml.undefine(options.ip) + cxml = vxml.get_class(options.virt)(default_dom, vcpus=cpu) + ret = cxml.cim_define(options.ip) if not ret: - logger.error("Failed to start %s", default_dom) - cleanup_env(options.ip, cxml) - return FAIL + raise Exception("Failed to define the dom: %s", default_dom)
Remove the comma in the Exception statement and use % default instead, otherwise the exception will be printed as follows, the format string wont be substituted properly. ERROR - ('Failed to define the dom: %s', 'rstest_domain')
Instead the above could be
raise Exception("Failed to define the dom: %s" % default_dom)
which would print the exception as below:
ERROR - Failed to define the dom: rstest_domain
- status, inst = get_vssd(options.ip, options.virt, True) - if status != PASS: - logger.error("Failed to get the VSSD instance for %s", default_dom) - cleanup_env(options.ip, cxml) - return FAIL + if case == "start": + ret = cxml.start(options.ip) + if not ret: + raise Exception("Failed to start %s", default_dom)
Same here Remove the comma in the Exception statement and use % after "
- inst['AutomaticRecoveryAction'] = pywbem.cim_types.Uint16(RECOVERY_VAL) - vssd = inst_to_mof(inst) + status, inst = get_vssd(options.ip, options.virt, True) + if status != PASS: + raise Expcetion("Failed to get the VSSD instance for %s", + default_dom)
Same here Remove the comma in the Exception statement and use % after "
- ret = service.ModifySystemSettings(SystemSettings=vssd) - curr_cim_rev, changeset = get_provider_version(options.virt, options.ip) - if curr_cim_rev >= libvirt_modify_setting_changes: - if ret[0] != 0: - logger.error("Failed to modify dom: %s", default_dom) - cleanup_env(options.ip, cxml) - return FAIL + val = pywbem.cim_types.Uint16(RECOVERY_VAL) + inst['AutomaticRecoveryAction'] = val + vssd = inst_to_mof(inst)
- if case == "start": - #This should be replaced with a RSC to shutdownt he guest - cxml.destroy(options.ip) - status, cs = poll_for_state_change(options.ip, options.virt, - default_dom, DEFINED_STATE) + ret = service.ModifySystemSettings(SystemSettings=vssd) + curr_cim_rev, changeset = get_provider_version(options.virt, + options.ip) + if curr_cim_rev >= libvirt_modify_setting_changes: + if ret[0] != 0: + raise Exception("Failed to modify dom: %s", default_dom) + + if case == "start": + #This should be replaced with a RSC to shutdownt he guest + cxml.destroy(options.ip) + status, cs = poll_for_state_change(options.ip, options.virt, + default_dom, DEFINED_STATE)
you can use cim_destroy() instead.
+ if status != PASS: + raise Exception("Failed to destroy %s", default_dom)
Same here Remove the comma in the Exception statement and use % after "
+ + status, inst = get_vssd(options.ip, options.virt, False) if status != PASS: - logger.error("Failed to destroy %s", default_dom) - cleanup_env(options.ip, cxml) - return FAIL + raise Exception("Failed to get the VSSD instance for %s", + default_dom)
Same here Remove the comma in the Exception statement and use % after "
- status, inst = get_vssd(options.ip, options.virt, False) - if status != PASS: - logger.error("Failed to get the VSSD instance for %s", default_dom) - cleanup_env(options.ip, cxml) - return FAIL + if inst.AutomaticRecoveryAction != RECOVERY_VAL: + logger.error("Exp AutomaticRecoveryAction=%d, got %d", + RECOVERY_VAL, inst.AutomaticRecoveryAction) + raise Exception("%s not updated properly.", default_dom)
Same here Remove the comma in the Exception statement and use % after "
- if inst.AutomaticRecoveryAction != RECOVERY_VAL: - logger.error("%s not updated properly.", default_dom) - logger.error("Exp AutomaticRecoveryAction=%d, got %d", RECOVERY_VAL, - inst.AutomaticRecoveryAction) - cleanup_env(options.ip, cxml) - curr_cim_rev, changeset = get_provider_version(options.virt, options.ip) - if curr_cim_rev <= libvirt_f9_revision and options.virt == "KVM": - return XFAIL_RC(f9_bug) + status = PASS
- if options.virt == "LXC": - return XFAIL_RC(bug) - return FAIL + except Exception, details: + logger.error(details) + status = FAIL
cleanup_env(options.ip, cxml)
- return PASS + curr_cim_rev, changeset = get_provider_version(options.virt, options.ip) + if curr_cim_rev <= libvirt_f9_revision and options.virt == "KVM": + return XFAIL_RC(f9_bug) + + if options.virt == "LXC": + return XFAIL_RC(bug) + + return status if __name__ == "__main__": sys.exit(main())
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
-- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com