[Libvirt-cim] [PATCH 1 of 7] [TEST] Adding verify_err_desc(), Modifying poll_for_state_change() and Fixing get_cs_instance()
Kaitlin Rupert
kaitlin at linux.vnet.ibm.com
Mon Aug 4 19:24:19 UTC 2008
> +
> +def try_request_state_change(domain_name, ip, rs, time, exp_rc,
> + exp_desc, virt='Xen'):
> + rc, cs = get_cs_instance(domain_name, ip, virt)
> + if rc != 0:
> + return FAIL
> +
> + try:
> + cs.RequestStateChange(RequestedState=pywbem.cim_types.Uint16(rs),
> + TimeoutPeriod=pywbem.cim_types.CIMDateTime(time))
> +
> + except Exception, (err_no, err_desc) :
> + return verify_err_desc(exp_rc, exp_desc, err_no, err_desc)
> + logger.error("RequestStateChange failed to generate an exception")
> + return FAIL
I think this is a special case and that we don't need a separate
function for this. There will only be a few cases where this is used, I
think.
Or maybe it's possible to modify call_request_state_change(0 to handle
errors?
>
> def poll_for_state_change(server, virt, dom, exp_state, timeout=30):
> + dom_cs = None
> cs = computersystem.get_cs_class(virt)
>
> try:
> @@ -146,22 +174,22 @@
> dom_cs = cs(server, name=dom)
> if dom_cs is None or dom_cs.Name != dom:
> logger.error("CS instance not returned for %s." % dom)
> - return FAIL
> + return FAIL, dom_cs
>
> if dom_cs.EnabledState == exp_state:
> break
>
> except Exception, detail:
> logger.error("Exception: %s" % detail)
> - return FAIL
> + return FAIL, dom_cs
>
> if dom_cs.EnabledState != exp_state:
> logger.error("EnabledState is %i instead of %i." % (dom_cs.EnabledState,
> exp_state))
> logger.error("Try to increase the timeout and run the test again")
> - return FAIL
> + return FAIL, dom_cs
>
> - return PASS
> + return PASS, dom_cs
This is a good set of changes - thanks!
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list