[Libvirt-cim] [PATCH 1 of 2] [TEST] Created test for association ServiceAccessBySAP (ConsoleRedirectionService -> KVMRedirecitonSAP)
Kaitlin Rupert
kaitlin at linux.vnet.ibm.com
Wed Feb 11 18:45:35 UTC 2009
> +def get_redirserv_inst(virt, ip, host_inst):
> + redirserv_inst = None
> +
> + try:
> + redirserv_cn = get_typed_class(virt, 'ConsoleRedirectionService')
> +
> + enum_list = EnumInstances(ip, redirserv_cn)
> +
> + for redirserv in enum_list:
> + if redirserv.SystemName == host_inst.Name:
> + if redirserv_inst is not None:
> + raise Exception("More than one RedirectionService found " +
> + "for the same host/virt")
> + redirserv_inst = redirserv
No need for this loop. Only one instance of ConsoleRedirectionService
should be returned.
> +
> + except Exception, details:
> + logger.error(details)
> + return redirserv_inst, FAIL
> +
> + return redirserv_inst, PASS
> +
> +def verify_kvmrsap(enum_list, list_kvmrsap):
> + status = PASS
> +
> + for item in enum_list:
> + found = FAIL
> + for kvmrsap in list_kvmrsap:
> + found = compare_all_prop(item, kvmrsap)
> + if found == PASS:
> + break
Compare the values of the Name and SystemName keys. If they match, then
call compare.
> +
> + if found == FAIL:
> + logger.error("Instance found in kvmrsap list but not in " +
> + "association list")
> + return FAIL
> +
> + return status
> +
> + at do_main(sup_types)
> +def main():
> + options = main.options
> + server = options.ip
> + virt = options.virt
> +
> + status = FAIL
> +
> + # This check is required for libvirt-cim providers which do not have
> + # ServiceAccessBySAP changes in it and the ServiceAccessBySAP
> + # association is available with revision >= 784.
> + curr_cim_rev, changeset = get_provider_version(virt, server)
> + if curr_cim_rev < libvirtcim_servaccsap_changes:
> + logger.info("'%s' provider not supported, hence skipping the tc ....",
> + classname)
> + return SKIP
classname is not defined.
> +
> + status, cxml = setup_env(options.ip, options.virt)
> + if status != PASS:
> + cxml.undefine(options.ip)
> + return status
> +
> + try:
> + status, host_inst = get_host_info(options.ip,
> + options.virt)
> + if status != PASS:
> + raise Exception("Unable to get host info")
ServiceAccessBySAP does not associate the HostSystem - no need for this
call.
> +
> + redirserv_inst, status = get_redirserv_inst(options.virt,
> + options.ip,
> + host_inst)
> + if status != PASS:
> + raise Exception("Unable to get RedirectionService instance")
> +
> + list_kvmrsap, status = list_kvmrsap_inst(options.virt,
> + options.ip)
> +
> + if status != PASS:
> + raise Exception("Unable to get kvmrsap instance")
> + if list_kvmrsap is None:
> + raise Exception("No kvmrsap instance returned")
> +
> + an = get_typed_class(options.virt, 'ServiceAccessBySAP')
> +
> + host_ccn = host_inst.CreationClassName
> + redirserv_ccn = redirserv_inst.CreationClassName
> + redirserv_name = redirserv_inst.Name
> +
> + assoc_info = AssociatorNames(options.ip, an, redirserv_ccn,
> + CreationClassName = redirserv_ccn,
> + Name = redirserv_name,
> + SystemCreationClassName = host_ccn,
> + SystemName = host_inst.Name)
Do not use the host values as the keys. Use the keys of the redirserv_inst.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list