>
> This may fail on KVM with the following error message:
> "CIM_ERR_FAILED: Invalid state transition." Will follow up on this
issue.
Yup, I run it on KVM, and below is the detail error message:
ComputerSystemIndication - 01_created_indication.py: FAIL
ERROR - Exception: (1, u'CIM_ERR_FAILED: Invalid state transition')
ERROR - Failed to start domain: domU
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Invalid state
transition
This is a bug in libvirt. I spoke to the libvirt folks this morning,
and this should be fixed in CVS soon.
> +
> + sub = CIMIndicationSubscription(sub_name, ind_name,
> + dict['default_ns'],
> + dict['default_print_ind'],
> + dict['default_sysname'],
> + port)
> + sub.subscribe(dict['default_url'], dict['default_auth'])
> + logger.info("Watching for %s" % iname)
> + ind_names[ind] = ind_name
> + sub_list[ind] = sub
> +
> + return sub_list, ind_names, dict
> +
> +def gen_ind(test_dom, ip, vtype, ind):
> + if ind == "define":
> + return create_using_definesystem(test_dom, ip, virt=vtype)
Do you have to check the return status of create_using_definesystem()
function here?
The status gets checked in the main function (see below). If this is
confusing, I can change it.
> + try:
> + status = gen_ind(test_dom, options.ip,
options.virt, ind)
> + if status != PASS:
> + os.kill(pid, signal.SIGKILL)
> + return FAIL
>
> - status = FAIL
> - for i in range(0,100):
> - pw = os.waitpid(pid, os.WNOHANG)
> + status = poll_for_ind(pid)
> + except Exception, details:
> + logger.error("Exception: %s" % details)
> + os.kill(pid, signal.SIGKILL)
> + return FAIL
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com