# HG changeset patch
# User Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
# Date 1223459421 25200
# Node ID 814a0e67bb1023607349ecc9b95a4636aabcc24d
# Parent 98c505b354576e9150943b9f7f1bfd4a70347dab
[TEST] Fixing and updating 03_hs_to_settdefcap.py of HS.
1) Fixed the tc which was failing for Xen and XenFV bcs of the changes as part of
"Add condensed template functions, update sdc_rasds_for_type() &
sdc_rasd_inst()"
2) Updated the tc to use cim_define.
3) updated the bug no for sblim-base-provider
4) Removed the rangelist param since it was not being used, we can verify the RASD
specific things which are available when queried with SDC in the SDC/01_forward.py tc.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r 98c505b35457 -r 814a0e67bb10
suites/libvirt-cim/cimtest/HostSystem/03_hs_to_settdefcap.py
--- a/suites/libvirt-cim/cimtest/HostSystem/03_hs_to_settdefcap.py Tue Oct 07 02:42:02
2008 -0700
+++ b/suites/libvirt-cim/cimtest/HostSystem/03_hs_to_settdefcap.py Wed Oct 08 02:50:21
2008 -0700
@@ -47,13 +47,14 @@ from XenKvmLib.classes import get_typed_
from XenKvmLib.classes import get_typed_class
from CimTest.Globals import logger, CIM_ERROR_ASSOCIATORNAMES
from XenKvmLib.const import do_main
-from CimTest.ReturnCodes import PASS, FAIL
+from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC
from XenKvmLib.test_xml import testxml
from XenKvmLib.test_doms import destroy_and_undefine_all
sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
-test_dom = "domgst"
+test_dom = "domgst_test"
test_vcpus = 1
+bug_sblim='00007'
def setup_env(server, virt="Xen"):
status = PASS
@@ -63,7 +64,7 @@ def setup_env(server, virt="Xen"):
else:
vsxml = get_class(virt)(test_dom, vcpus=test_vcpus)
- ret = vsxml.define(server)
+ ret = vsxml.cim_define(server)
if not ret:
logger.error("Failed to define the dom: %s", test_dom)
status = FAIL
@@ -95,7 +96,6 @@ def get_inst_from_list(cn, qcn, list, fi
return status, inst
def get_hostsys(server, virt="Xen"):
- cn = '%s_HostSystem' % virt
status = PASS
host = live.hostname(server)
@@ -103,7 +103,7 @@ def get_hostsys(server, virt="Xen"):
status, hostname, clsname = get_host_info(server, virt)
if hostname != host:
status = FAIL
- logger.error("Hostname mismatch %s : %s" % (cn, host))
+ logger.error("Hostname mismatch")
except Exception, detail:
logger.error("Exception in %s : %s" % (cn, detail))
@@ -112,8 +112,7 @@ def get_hostsys(server, virt="Xen"):
return status, hostname, clsname
def get_hostrespool(server, hostsys, clsname, virt="Xen"):
- ccn1 = '%s_HostSystem' % virt
- an1 = '%s_HostedResourcePool' % virt
+ an1 = get_typed_class(virt, "HostedResourcePool")
status = PASS
devpool = []
@@ -127,14 +126,16 @@ def get_hostrespool(server, hostsys, cls
try:
assoc_info = Associators(server,
an1,
- ccn1,
+ clsname,
CreationClassName = clsname,
Name = hostsys)
if len(assoc_info) < 4:
- logger.error("HostedResourcePool has returned %i instances, expected 4
\
-instances", len(assoc_info))
- status = FAIL
- return status, devpool
+ if clsname == 'Linux_ComputerSystem':
+ return XFAIL_RC(bug_sblim), devpool
+ else:
+ logger.error("'%s' has returned %i instances, expected
4"
+ " instances", an1, len(assoc_info))
+ return FAIL, devpool
for inst in assoc_info:
for a, val in ccnlist.items():
@@ -143,14 +144,14 @@ instances", len(assoc_info))
devpool.append(inst)
except Exception, detail:
- print_err(CIM_ERROR_ASSOCIATORNAMES, detail, ccn1)
+ print_err(CIM_ERROR_ASSOCIATORNAMES, detail, clsname)
status = FAIL
return status, devpool
def get_alloccap(server, devpool, virt="Xen"):
- an = '%s_ElementCapabilities' % virt
- cn = '%s_AllocationCapabilities' % virt
+ an = get_typed_class(virt, 'ElementCapabilities')
+ cn = get_typed_class(virt, 'AllocationCapabilities')
status = FAIL
alloccap = []
filter = {"key" : "ResourceType"}
@@ -171,7 +172,7 @@ def get_alloccap(server, devpool, virt="
InstanceID = inst['InstanceID'])
if len(assoc_info) < 1:
- logger.error("ElementCapabilities has returned %i objects",
len(assoc_info))
+ logger.error("'%s' has returned %i objects", an,
len(assoc_info))
status = FAIL
return status, alloccap
@@ -195,8 +196,8 @@ def get_rasddetails(server, alloccap, vi
def get_rasddetails(server, alloccap, virt="Xen"):
status = PASS
- ccn = '%s_AllocationCapabilities' % virt
- an = '%s_SettingsDefineCapabilities' % virt
+ ccn = get_typed_class(virt, 'AllocationCapabilities')
+ an = get_typed_class(virt, 'SettingsDefineCapabilities')
if virt == 'LXC':
rtype = { "%s_MemResourceAllocationSettingData" % virt : 4 }
@@ -207,13 +208,6 @@ def get_rasddetails(server, alloccap, vi
"%s_NetResourceAllocationSettingData" % virt : 10, \
"%s_ProcResourceAllocationSettingData" % virt : 3
}
- rangelist = {
- "Default" : 0, \
- "Minimum" : 1, \
- "Maximum" : 2, \
- "Increment" : 3
- }
-
try:
for ap in alloccap:
assoc_info = Associators(server,
@@ -221,19 +215,26 @@ def get_rasddetails(server, alloccap, vi
ccn,
InstanceID = ap['InstanceID'])
- if len(assoc_info) != 4:
- logger.error("SettingsDefineCapabilities returned %i ResourcePool \
-objects instead of 4", len(assoc_info))
+ if 'DiskPool' in ap['InstanceID'] and virt =='Xen':
+ # For Diskpool, we have info 1 for each of Min, Max,
+ # default, Increment and 1 for each of PV and FV
+ # hence 4 * 2 = 8 records
+ exp_len = 8
+ else:
+ exp_len = 4
+
+ if len(assoc_info) != exp_len:
+ logger.error("'%s' returned %i ResourcePool"
+ " objects instead of 4", an, len(assoc_info))
return FAIL
for inst in assoc_info:
cn = inst.classname
if cn in rtype:
- status = check_rasd_vals(inst, cn, rtype[cn], rangelist)
+ status = check_rasd_vals(inst, rtype[cn])
if status != PASS:
return status
-
else:
logger.error("Unexpected instance type %s" % cn)
return FAIL
@@ -244,12 +245,11 @@ objects instead of 4", len(assoc_info))
return status
-def check_rasd_vals(inst, cn, rt, rangelist):
+def check_rasd_vals(inst, rt):
try:
if inst['ResourceType'] != rt:
logger.error("In ResourceType for %s " % rt)
return FAIL
-
except Exception, detail:
logger.error("Error checking RASD attribute values %s" % detail)
return FAIL