[PATCH] [TEST] Add revision branch to RASD.01 & 02

# HG changeset patch # User Zhengang Li <lizg@cn.ibm.com> # Date 1209373236 -28800 # Node ID 5ed6cd841f7b65eeea4af7af845c4ebfc2da4cf1 # Parent 22ed2c7c77e8ff3d96b40f1e0db2a931b5a7c37e [TEST] Add revision branch to RASD.01 & 02 - Added prev & mrev for 'proc' vs. '0', 'KiloBytes' vs. 'MegaBytes' issue. - Updated style format. - Added commonly used class name in XenKvmLib.rasd Signed-off-by: Zhengang Li <lizg@cn.ibm.com> diff -r 22ed2c7c77e8 -r 5ed6cd841f7b suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py --- a/suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py Fri Apr 25 03:20:54 2008 -0700 +++ b/suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py Mon Apr 28 17:00:36 2008 +0800 @@ -47,18 +47,14 @@ import sys -from XenKvmLib import enumclass -from VirtLib import utils from CimTest import Globals from CimTest.Globals import do_main from XenKvmLib.test_doms import destroy_and_undefine_all -import XenKvmLib from XenKvmLib import assoc from XenKvmLib import vxml -from XenKvmLib.vxml import XenXML, KVMXML, get_class from XenKvmLib.classes import get_typed_class -from XenKvmLib.rasd import verify_procrasd_values, verify_netrasd_values, \ -verify_diskrasd_values, verify_memrasd_values +from XenKvmLib import rasd +from XenKvmLib.const import CIM_REV from CimTest.Globals import logger from CimTest.ReturnCodes import PASS, FAIL @@ -68,42 +64,40 @@ test_vcpus = 1 test_vcpus = 1 test_mem = 128 test_mac = "00:11:22:33:44:aa" +prev = 531 +mrev = 529 def init_list(xml, disk, virt="Xen"): """ Creating the lists that will be used for comparisons. """ procrasd = { - "InstanceID" : '%s/%s' %(test_dom, "proc"),\ - "ResourceType" : 3,\ - "CreationClassName": get_typed_class(virt, 'ProcResourceAllocationSettingData') - } - + "InstanceID" : '%s/%s' % (test_dom, + CIM_REV < prev and "0" or "proc"), + "ResourceType" : 3, + "CreationClassName" : get_typed_class(virt, rasd.pasd_cn)} netrasd = { - "InstanceID" : '%s/%s' %(test_dom,test_mac), \ - "ResourceType" : 10 , \ - "ntype1": "bridge", \ - "ntype2": "ethernet", \ - "CreationClassName": get_typed_class(virt, 'NetResourceAllocationSettingData') - } - + "InstanceID" : '%s/%s' % (test_dom,test_mac), + "ResourceType" : 10 , + "ntype1" : "bridge", + "ntype2" : "ethernet", + "CreationClassName" : get_typed_class(virt, rasd.nasd_cn)} address = xml.xml_get_disk_source() diskrasd = { - "InstanceID" : '%s/%s' %(test_dom, disk), \ - "ResourceType" : 17, \ - "Address" : address, \ - "CreationClassName": get_typed_class(virt, 'DiskResourceAllocationSettingData') - } + "InstanceID" : '%s/%s' % (test_dom, disk), + "ResourceType" : 17, + "Address" : address, + "CreationClassName" : get_typed_class(virt, rasd.dasd_cn)} memrasd = { - "InstanceID" : '%s/%s' %(test_dom, "mem"), \ - "ResourceType" : 4, \ - "AllocationUnits" : "KiloBytes",\ - "VirtualQuantity" : (test_mem * 1024), \ - "CreationClassName": get_typed_class(virt, 'MemResourceAllocationSettingData') - } + "InstanceID" : '%s/%s' % (test_dom, "mem"), + "ResourceType" : 4, + "AllocationUnits" : CIM_REV < mrev and "MegaBytes" or "KiloBytes", + "VirtualQuantity" : (test_mem * 1024), + "CreationClassName" : get_typed_class(virt, rasd.masd_cn)} + return procrasd, netrasd, diskrasd, memrasd -def assoc_values(ip, assoc_info, xml, disk, virt="Xen"): +def assoc_values(assoc_info, xml, disk, virt="Xen"): procrasd, netrasd, diskrasd, memrasd = init_list(xml, disk, virt) proc_status = 1 net_status = 0 @@ -111,15 +105,15 @@ def assoc_values(ip, assoc_info, xml, di mem_status = 1 status = 0 try: - for i in range(len(assoc_info)): - if assoc_info[i]['InstanceID'] == procrasd['InstanceID']: - proc_status = verify_procrasd_values(assoc_info[i], procrasd) - elif assoc_info[i]['InstanceID'] == netrasd['InstanceID']: - net_status = verify_netrasd_values(assoc_info[i], netrasd) - elif assoc_info[i]['InstanceID'] == diskrasd['InstanceID']: - disk_status = verify_diskrasd_values(assoc_info[i], diskrasd) - elif assoc_info[i]['InstanceID'] == memrasd['InstanceID']: - mem_status = verify_memrasd_values(assoc_info[i], memrasd) + for res in assoc_info: + if res['InstanceID'] == procrasd['InstanceID']: + proc_status = rasd.verify_procrasd_values(res, procrasd) + elif res['InstanceID'] == netrasd['InstanceID']: + net_status = rasd.verify_netrasd_values(res, netrasd) + elif res['InstanceID'] == diskrasd['InstanceID']: + disk_status = rasd.verify_diskrasd_values(res, diskrasd) + elif res['InstanceID'] == memrasd['InstanceID']: + mem_status = rasd.verify_memrasd_values(res, memrasd) else: status = 1 if status != 0 or proc_status != 0 or net_status != 0 or \ @@ -135,8 +129,7 @@ def assoc_values(ip, assoc_info, xml, di @do_main(sup_types) def main(): options = main.options - status = 0 - rc = 1 + status = PASS destroy_and_undefine_all(options.ip) if options.virt == 'Xen': test_disk = 'xvda' @@ -144,31 +137,32 @@ def main(): test_disk = 'hda' virt_xml = vxml.get_class(options.virt) - cxml = virt_xml(test_dom, mem=test_mem, vcpus = test_vcpus, mac = test_mac, disk = test_disk) + cxml = virt_xml(test_dom, mem=test_mem, vcpus = test_vcpus, + mac = test_mac, disk = test_disk) ret = cxml.create(options.ip) if not ret: logger.error('Unable to create domain %s' % test_dom) return FAIL if status == 1: destroy_and_undefine_all(options.ip) - return 1 + return FAIL if options.virt == "XenFV": instIdval = "Xen:%s" % test_dom else: instIdval = "%s:%s" % (options.virt, test_dom) - + + vssdc_cn = 'VirtualSystemSettingDataComponent' + vssd_cn = 'VirtualSystemSettingData' try: - assoc_info = assoc.Associators(options.ip, \ - 'VirtualSystemSettingDataComponent', \ - 'VirtualSystemSettingData', \ - options.virt, \ + assoc_info = assoc.Associators(options.ip, vssdc_cn, vssd_cn, + options.virt, InstanceID = instIdval) - status = assoc_values(options.ip, assoc_info, cxml, test_disk, options.virt) + status = assoc_values(assoc_info, cxml, test_disk, options.virt) except Exception, details: - logger.error(Globals.CIM_ERROR_ASSOCIATORS, \ - get_typed_class(options.virt, 'VirtualSystemSettingDataComponent')) + logger.error(Globals.CIM_ERROR_ASSOCIATORS, + get_typed_class(options.virt, vssdc_cn)) logger.error("Exception : %s" % details) - status = 1 + status = FAIL try: cxml.destroy(options.ip) diff -r 22ed2c7c77e8 -r 5ed6cd841f7b suites/libvirt-cim/cimtest/RASD/02_enum.py --- a/suites/libvirt-cim/cimtest/RASD/02_enum.py Fri Apr 25 03:20:54 2008 -0700 +++ b/suites/libvirt-cim/cimtest/RASD/02_enum.py Mon Apr 28 17:00:36 2008 +0800 @@ -28,14 +28,13 @@ import sys -import XenKvmLib from XenKvmLib import enumclass from CimTest.Globals import do_main, CIM_ERROR_ENUMERATE from XenKvmLib.test_doms import destroy_and_undefine_all from XenKvmLib.vxml import get_class from XenKvmLib.classes import get_typed_class -from XenKvmLib.rasd import verify_procrasd_values, verify_netrasd_values, \ -verify_diskrasd_values, verify_memrasd_values +from XenKvmLib import rasd +from XenKvmLib.const import CIM_REV from CimTest.Globals import logger from CimTest.ReturnCodes import PASS, FAIL @@ -45,41 +44,39 @@ test_vcpus = 1 test_vcpus = 1 test_mem = 128 test_mac = "00:11:22:33:44:aa" +prev = 531 +mrev = 529 -def init_list(virt="Xen"): +def init_list(virt): """ Creating the lists that will be used for comparisons. """ - procrasd = { - "InstanceID" : '%s/%s' %(test_dom, "proc"),\ - "ResourceType" : 3,\ - "CreationClassName": get_typed_class(virt, 'ProcResourceAllocationSettingData') - } + proc = { + "InstanceID" : '%s/%s' % (test_dom, + CIM_REV < prev and "0" or "proc"), + "ResourceType" : 3, + "CreationClassName" : get_typed_class(virt, rasd.pasd_cn)} + net = { + "InstanceID" : '%s/%s' % (test_dom,test_mac), + "ResourceType" : 10 , + "ntype1" : "bridge", + "ntype2" : "ethernet", + "CreationClassName" : get_typed_class(virt, rasd.nasd_cn)} + address = vsxml.xml_get_disk_source() + disk = { + "InstanceID" : '%s/%s' % (test_dom, test_disk), + "ResourceType" : 17, + "Address" : address, + "CreationClassName" : get_typed_class(virt, rasd.dasd_cn)} + mem = { + "InstanceID" : '%s/%s' % (test_dom, "mem"), + "ResourceType" : 4, + "AllocationUnits" : CIM_REV < mrev and "MegaBytes" or "KiloBytes", + "VirtualQuantity" : (test_mem * 1024), + "CreationClassName" : get_typed_class(virt, rasd.masd_cn)} + return proc, net, disk, mem - netrasd = { - "InstanceID" : '%s/%s' %(test_dom,test_mac), \ - "ResourceType" : 10 , \ - "ntype1": "bridge", \ - "ntype2": "ethernet", \ - "CreationClassName": get_typed_class(virt, 'NetResourceAllocationSettingData') - } - address = vsxml.xml_get_disk_source() - diskrasd = { - "InstanceID" : '%s/%s' %(test_dom, test_disk), \ - "ResourceType" : 17, \ - "Address" : address, \ - "CreationClassName": get_typed_class(virt, 'DiskResourceAllocationSettingData') - } - memrasd = { - "InstanceID" : '%s/%s' %(test_dom, "mem"), \ - "ResourceType" : 4, \ - "AllocationUnits" : "KiloBytes",\ - "VirtualQuantity" : (test_mem * 1024), \ - "CreationClassName": get_typed_class(virt, 'MemResourceAllocationSettingData') - } - return procrasd, netrasd, diskrasd, memrasd - -def get_inst_from_list(classname, rasd_list, filter_name, exp_val): +def get_inst_from_list(server, classname, rasd_list, filter_name, exp_val): status = PASS ret = FAIL inst = [] @@ -94,14 +91,14 @@ def get_inst_from_list(classname, rasd_l status = FAIL return status, inst -def get_rasd_values(classname): +def get_rasd_values(classname, virt, server): status = PASS rasd_list = [] try: - rasd_list = enumclass.enumerate_inst(server, eval('enumclass.' + classname), virt) + rasd_list = enumclass.enumerate_inst(server, classname, virt) if len(rasd_list) < 1: - logger.error("%s returned %i instances, excepted atleast 1 instance", classname, \ - len(rasd_list)) + logger.error("%s returned %i instances, excepted at least 1.", + classname, len(rasd_list)) return FAIL, rasd_list except Exception, detail: logger.error(CIM_ERROR_ENUMERATE, classname) @@ -111,7 +108,8 @@ def get_rasd_values(classname): # Get the RASD info related to the domain "ONLY". # We should get atleast one record. filter_name = {"key" : "InstanceID"} - status, rasd_values = get_inst_from_list(classname, rasd_list, filter_name, test_dom) + status, rasd_values = get_inst_from_list(server, classname, rasd_list, + filter_name, test_dom) if status != PASS or len(rasd_values) == 0: return status, rasd_values @@ -122,14 +120,14 @@ def verify_rasd_values(rasd_values_info) try: for rasd_instance in rasd_values_info: CCName = rasd_instance.classname - if 'ProcResourceAllocationSettingData' in CCName : - status = verify_procrasd_values(rasd_instance, procrasd,) - elif 'NetResourceAllocationSettingData' in CCName : - status = verify_netrasd_values(rasd_instance, netrasd) - elif 'DiskResourceAllocationSettingData' in CCName: - status = verify_diskrasd_values(rasd_instance, diskrasd) - elif 'MemResourceAllocationSettingData' in CCName : - status = verify_memrasd_values(rasd_instance, memrasd) + if rasd.pasd_cn in CCName : + status = rasd.verify_procrasd_values(rasd_instance, procrasd,) + elif rasd.nasd_cn in CCName : + status = rasd.verify_netrasd_values(rasd_instance, netrasd) + elif rasd.dasd_cn in CCName: + status = rasd.verify_diskrasd_values(rasd_instance, diskrasd) + elif rasd.masd_cn in CCName : + status = rasd.verify_memrasd_values(rasd_instance, memrasd) else: status = FAIL if status != PASS: @@ -142,32 +140,31 @@ def verify_rasd_values(rasd_values_info) @do_main(sup_types) def main(): - options = main.options - destroy_and_undefine_all(options.ip) + virt = main.options.virt + server = main.options.ip + destroy_and_undefine_all(server) global test_disk, vsxml - global virt, server global procrasd, netrasd, diskrasd, memrasd - server = options.ip - virt = options.virt if virt == "Xen": test_disk = "xvda" else: test_disk = "hda" - vsxml = get_class(virt)(test_dom, mem=test_mem, vcpus = test_vcpus, mac = test_mac, - disk = test_disk) + virtxml = get_class(virt) + vsxml = virtxml(test_dom, mem=test_mem, vcpus = test_vcpus, + mac = test_mac, disk = test_disk) try: - bridge = vsxml.set_vbridge(server) - ret = vsxml.define(options.ip) + vsxml.set_vbridge(server) + ret = vsxml.define(server) if not ret: logger.error("Failed to Define the domain: %s", test_dom) return FAIL except Exception, details: logger.error("Exception : %s", details) return FAIL - class_list = [ get_typed_class(virt, "DiskResourceAllocationSettingData"), - get_typed_class(virt, "MemResourceAllocationSettingData"), - get_typed_class(virt, "ProcResourceAllocationSettingData"), - get_typed_class(virt, "NetResourceAllocationSettingData") + class_list = [ get_typed_class(virt, rasd.dasd_cn), + get_typed_class(virt, rasd.masd_cn), + get_typed_class(virt, rasd.pasd_cn), + get_typed_class(virt, rasd.nasd_cn) ] status = PASS procrasd, netrasd, diskrasd, memrasd = init_list(virt) @@ -175,11 +172,12 @@ def main(): # For each loop # 1) Enumerate one RASD type # 2) Get the RASD info related to the domain "ONLY". - # 3) Verifies the RASD values with those supplied during defining the domain. + # 3) Verifies the RASD values with those supplied during + # defining the domain. for classname in sorted(class_list): # Enumerate each RASD types - status, rasd_values = get_rasd_values(classname) + status, rasd_values = get_rasd_values(classname, virt, server) if status != PASS or len(rasd_values) ==0 : break diff -r 22ed2c7c77e8 -r 5ed6cd841f7b suites/libvirt-cim/lib/XenKvmLib/rasd.py --- a/suites/libvirt-cim/lib/XenKvmLib/rasd.py Fri Apr 25 03:20:54 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/rasd.py Mon Apr 28 17:00:36 2008 +0800 @@ -24,6 +24,11 @@ from CimTest import Globals from CimTest import Globals from CimTest.Globals import log_param, logger from CimTest.ReturnCodes import FAIL, PASS + +pasd_cn = 'ProcResourceAllocationSettingData' +nasd_cn = 'NetResourceAllocationSettingData' +dasd_cn = 'DiskResourceAllocationSettingData' +masd_cn = 'MemResourceAllocationSettingData' def CCN_err(assoc_info, list): Globals.logger.error("%s Mismatch", 'CreationClassName')

zli@linux.vnet.ibm.com wrote:
# HG changeset patch # User Zhengang Li <lizg@cn.ibm.com> # Date 1209373236 -28800 # Node ID 5ed6cd841f7b65eeea4af7af845c4ebfc2da4cf1 # Parent 22ed2c7c77e8ff3d96b40f1e0db2a931b5a7c37e [TEST] Add revision branch to RASD.01 & 02
- Added prev & mrev for 'proc' vs. '0', 'KiloBytes' vs. 'MegaBytes' issue. - Updated style format. - Added commonly used class name in XenKvmLib.rasd
Signed-off-by: Zhengang Li <lizg@cn.ibm.com>
diff -r 22ed2c7c77e8 -r 5ed6cd841f7b suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py --- a/suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py Fri Apr 25 03:20:54 2008 -0700 +++ b/suites/libvirt-cim/cimtest/RASD/01_verify_rasd_fields.py Mon Apr 28 17:00:36 2008 +0800 @@ -47,18 +47,14 @@
def init_list(xml, disk, virt="Xen"): """ Creating the lists that will be used for comparisons. """ procrasd = { - "InstanceID" : '%s/%s' %(test_dom, "proc"),\ - "ResourceType" : 3,\ - "CreationClassName": get_typed_class(virt, 'ProcResourceAllocationSettingData') - } - + "InstanceID" : '%s/%s' % (test_dom, + CIM_REV < prev and "0" or "proc"), + "ResourceType" : 3,
Embedding the if in the proc initialization might lead to confusion (as it's not very obvious what's happening here). I'd recommend using the current provider value in the initialization, and then checking the REV and setting the value appropriately. -- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com
participants (2)
-
Kaitlin Rupert
-
zli@linux.vnet.ibm.com