[PATCH 0 of 2] [TEST] KVM support for ResourcePool

# HG changeset patch # User Guolian Yun <yunguol@cn.ibm.com> # Date 1208398366 -28800 # Node ID c1d9b3ba06ca4c76fe9b1cf63a77a7f92bb01d22 # Parent 54c122493775bf7c52bc6c35236ed1e3f5868884 [TEST] .2# add ElementConforms.04 for XenFV & KVM support Signed-off-by: Guolian Yun <yunguol@cn.ibm.com> diff -r 54c122493775 -r c1d9b3ba06ca suites/libvirt-cim/cimtest/ElementConforms/04_ectp_rev_errs.py --- a/suites/libvirt-cim/cimtest/ElementConforms/04_ectp_rev_errs.py Thu Apr 17 10:02:42 2008 +0800 +++ b/suites/libvirt-cim/cimtest/ElementConforms/04_ectp_rev_errs.py Thu Apr 17 10:12:46 2008 +0800 @@ -82,14 +82,17 @@ import pywbem import pywbem from VirtLib import utils, live from XenKvmLib import assoc +from XenKvmLib import vxml +from XenKvmLib.classes import get_typed_class from XenKvmLib.common_util import try_assoc +from XenKvmLib.test_doms import destroy_and_undefine_all from CimTest.ReturnCodes import PASS, FAIL from CimTest.Globals import log_param, logger, CIM_USER, CIM_PASS, CIM_NS, do_main -sup_types = ['Xen'] +sup_types = ['Xen', 'XenFV', 'KVM'] -ac_classname = 'Xen_ElementConformsToProfile' bug = '92642' +test_dom = "domU" cs_values = { "INVALID_CCName_Keyname" : { 'rc' : 6 , 'desc' : 'No such instance' }, \ @@ -105,7 +108,8 @@ hs_values = { "INVALID_Name_Keyvalue" : { 'rc' : 6 , 'desc' : 'No such instance' } } -def try_invalid_assoc(classname, name_val, i, field): +def try_invalid_assoc(classname, name_val, i, field, virt="Xen"): + ac_classname = get_typed_class(virt, "ElementConformsToProfile") j = 0 keys = {} temp = name_val[i] @@ -113,7 +117,7 @@ def try_invalid_assoc(classname, name_va for j in range(len(name_val)/2): k = j * 2 keys[name_val[k]] = name_val[k+1] - if classname == "Xen_HostSystem": + if classname == get_typed_class(virt, "HostSystem"): expr_values = hs_values else: expr_values = cs_values @@ -134,16 +138,24 @@ def main(): global conn conn = assoc.myWBEMConnection('http://%s' % options.ip, (CIM_USER, CIM_PASS), CIM_NS) + virt_xml = vxml.get_class(options.virt) + cxml = virt_xml(test_dom) + ret = cxml.define(options.ip) + if not ret: + logger.error('Unable to define domain %s' % test_dom) + return FAIL + hs = get_typed_class(options.virt, "HostSystem") + cs = get_typed_class(options.virt, "ComputerSystem") host_name = live.hostname(options.ip) host_name_val = [ - 'CreationClassName', 'Xen_HostSystem', \ + 'CreationClassName', hs, \ 'Name', host_name ] comp_name_val = [ - 'CreationClassName', 'Xen_ComputerSystem', \ - 'Name', 'Domain-0' + 'CreationClassName', cs, \ + 'Name', test_dom ] tc_scen = [ @@ -154,12 +166,12 @@ def main(): ] for i in range(len(tc_scen)): - retval = try_invalid_assoc('Xen_HostSystem', host_name_val, i, tc_scen[i]) + retval = try_invalid_assoc(hs, host_name_val, i, tc_scen[i], options.virt) if retval != PASS: status = retval for i in range(len(tc_scen)): - retval = try_invalid_assoc('Xen_ComputerSystem', comp_name_val, i, tc_scen[i]) + retval = try_invalid_assoc(cs, comp_name_val, i, tc_scen[i], options.virt) if retval != PASS: status = retval

# HG changeset patch # User Zhengang Li <lizg@cn.ibm.com> # Date 1208504885 -28800 # Node ID bfe3dacf592cfe97244b3ce3e979ca39fed5c8d7 # Parent c1d9b3ba06ca4c76fe9b1cf63a77a7f92bb01d22 [TEST] Add KVM support for ResourcePool.01 Signed-off-by: Zhengang Li <lizg@cn.ibm.com> diff -r c1d9b3ba06ca -r bfe3dacf592c suites/libvirt-cim/cimtest/ResourcePool/01_enum.py --- a/suites/libvirt-cim/cimtest/ResourcePool/01_enum.py Thu Apr 17 10:12:46 2008 +0800 +++ b/suites/libvirt-cim/cimtest/ResourcePool/01_enum.py Fri Apr 18 15:48:05 2008 +0800 @@ -26,25 +26,28 @@ import sys import os -from VirtLib import utils from distutils.file_util import move_file -from XenKvmLib import enumclass +from XenKvmLib.enumclass import enumerate +from XenKvmLib.classes import get_typed_class +from XenKvmLib import vxml from CimTest import Globals from CimTest.Globals import log_param, logger, do_main from CimTest.ReturnCodes import PASS, FAIL, SKIP from VirtLib.live import net_list -from XenKvmLib.test_xml import netxml -from XenKvmLib.test_doms import create_vnet from XenKvmLib.vsms import RASD_TYPE_PROC, RASD_TYPE_MEM, RASD_TYPE_NET_ETHER, \ RASD_TYPE_DISK -sup_types = ['Xen'] +sup_types = ['Xen', 'KVM'] test_dpath = "foo" disk_file = '/tmp/diskpool.conf' back_disk_file = disk_file + "." + "resourcepool_enum" diskid = "%s/%s" % ("DiskPool", test_dpath) +dp_cn = 'DiskPool' +mp_cn = 'MemoryPool' +pp_cn = 'ProcessorPool' +np_cn = 'NetworkPool' def conf_file(): """ @@ -80,8 +83,7 @@ def clean_up_restore(): logger.error("Failed to Disk Conf file") return status -def init_list(server): - global pool_list +def init_list(server, virt): status = PASS os.system("rm -f %s" % back_disk_file ) if not (os.path.exists(disk_file)): @@ -90,35 +92,36 @@ def init_list(server): move_file(disk_file, back_disk_file) status = conf_file() if status != PASS: - return status - vir_network = net_list(server) + return status, None + vir_network = net_list(server, virt) if len(vir_network) > 0: test_network = vir_network[0] else: bridgename = 'testbridge' test_network = 'default-net' - net_xml, bridge = netxml(server, bridgename, test_network) - ret = create_vnet(server, net_xml) + netxml = vxml.NetXML(server, bridgename, test_network, virt) + ret = netxml.create_vnet() if not ret: logger.error("Failed to create the Virtual Network '%s'", \ test_network) - return SKIP - disk_instid = 'DiskPool/%s' %test_dpath - net_instid = 'NetworkPool/%s' %test_network - pool_list = { - 'Xen_MemoryPool' : ['MemoryPool/0', RASD_TYPE_MEM], \ - 'Xen_ProcessorPool' : ['ProcessorPool/0', RASD_TYPE_PROC], \ - 'Xen_DiskPool' : [disk_instid, RASD_TYPE_DISK], \ - 'Xen_NetworkPool' : [net_instid, RASD_TYPE_NET_ETHER] - } - return status + return SKIP, None + disk_instid = '%s/%s' % (dp_cn, test_dpath) + net_instid = '%s/%s' % (np_cn, test_network) + mem_instid = '%s/0' % mp_cn + proc_instid = '%s/0' % pp_cn + pool_list = { + get_typed_class(virt, mp_cn) : [mem_instid, RASD_TYPE_MEM], + get_typed_class(virt, pp_cn) : [proc_instid, RASD_TYPE_PROC], + get_typed_class(virt, dp_cn) : [disk_instid, RASD_TYPE_DISK], + get_typed_class(virt, np_cn) : [net_instid, RASD_TYPE_NET_ETHER] + } + return status, pool_list def print_error(fieldname="", ret_value="", exp_value=""): logger.error("%s Mismatch", fieldname) logger.error("Returned %s instead of %s", ret_value, exp_value) -def verify_fields(poolname, cn): - global pool_list +def verify_fields(pool_list, poolname, cn): status = PASS if len(poolname) < 1: logger.error("%s return %i instances, expected atleast 1 instance" \ @@ -139,50 +142,45 @@ def verify_fields(poolname, cn): @do_main(sup_types) def main(): - options = main.options + ip = main.options.ip + virt = main.options.virt log_param() - global pool_list - server = options.ip - status = init_list(server) + status, pool_list = init_list(ip, virt) if status != PASS: logger.error("Failed to initialise the list") return status key_list = ["InstanceID"] + try: - mempool = enumclass.enumerate(options.ip, - enumclass.Xen_MemoryPool, - key_list) + mempool = enumerate(ip, mp_cn, key_list, virt) except Exception: - logger.error(Globals.CIM_ERROR_ENUMERATE % enumclass.Xen_MemoryPool) + logger.error(Globals.CIM_ERROR_ENUMERATE % mp_cn) return FAIL - status = verify_fields(poolname=mempool, cn='Xen_MemoryPool') + status = verify_fields(pool_list, mempool, get_typed_class(virt, mp_cn)) + try: - propool = enumclass.enumerate(options.ip, - enumclass.Xen_ProcessorPool, - key_list) + propool = enumerate(ip, pp_cn, key_list, virt) except Exception: - logger.error(Globals.CIM_ERROR_ENUMERATE % enumclass.Xen_ProcessorPool) + logger.error(Globals.CIM_ERROR_ENUMERATE % pp_cn) return FAIL - - status = verify_fields(poolname=propool, cn='Xen_ProcessorPool') + status = verify_fields(pool_list, propool, get_typed_class(virt, pp_cn)) + try: - diskpool = enumclass.enumerate(options.ip, - enumclass.Xen_DiskPool, - key_list) + diskpool = enumerate(ip, dp_cn, key_list, virt) except Exception: - logger.error(Globals.CIM_ERROR_ENUMERATE % enumclass.Xen_DiskPool) + logger.error(Globals.CIM_ERROR_ENUMERATE % dp_cn) return FAIL - status = verify_fields(poolname=diskpool, cn='Xen_DiskPool') + status = verify_fields(pool_list, diskpool, get_typed_class(virt, dp_cn)) + try: - netpool = enumclass.enumerate(options.ip, - enumclass.Xen_NetworkPool, - key_list) + netpool = enumerate(ip, np_cn, key_list, virt) except Exception: - logger.error(Globals.CIM_ERROR_ENUMERATE % enumclass.Xen_NetworkPool) + logger.error(Globals.CIM_ERROR_ENUMERATE % np_cn) return FAIL - status = verify_fields(poolname=netpool, cn='Xen_NetworkPool') + status = verify_fields(pool_list, netpool, get_typed_class(virt, np_cn)) + status = clean_up_restore() return status

zli@linux.vnet.ibm.com wrote:
Signed-off-by: Zhengang Li <lizg@cn.ibm.com>
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
Please ignore the two bundle that contains a '.2#'. Sorry for the 6 spam :( -- - Zhengang

Zhengang Li wrote:
zli@linux.vnet.ibm.com wrote:
Signed-off-by: Zhengang Li <lizg@cn.ibm.com>
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
Please ignore the two bundle that contains a '.2#'. Sorry for the 6 spam :(
Oops! Sorry, I missed this message and the resend too. Ignore my response and spam as well ;) -- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com
participants (3)
-
Kaitlin Rupert
-
Zhengang Li
-
zli@linux.vnet.ibm.com