CimTest Report on XenFV 19-06-2008
by Deepti B Kalakeri
======================================
CIM Test Report for XenFV
======================================
Distro : RHEL 5.2 Beta
Kernel : 2.6.18-88.el5xen
Xen version : 3.1.2-88.el5
Libvirt : libvirt-0.3.3-7.el5
CIMOM : pegasus
PyWBEM : pywbem-3.14
CIM Schema : cimv216Experimental
LibCMPIutil : 79
LibVirtCIM : 612+
CIMTEST : 217
======================================
PASS : 89
TOTAL FAILED : 17 [9 test cases passed when ran manually]
ACTUAL FAILED : 8
XFAIL : 1
SKIP : 22
-----------------
Total : 129
======================================
List of tc that are failing:
ComputerSystem - 06_paused_active_suspend.py: FAIL
ComputerSystem - 23_suspend_suspend.py: FAIL
ComputerSystem - 32_start_reboot.py: FAIL
ComputerSystem - 33_suspend_reboot.py: FAIL
ComputerSystem - 35_start_reset.py: FAIL
ComputerSystem - 40_RSC_start.py: FAIL
ElementAllocatedFromPool - 04_forward_errs.py: FAIL
--Passed when run manually
ElementConforms - 02_reverse.py: FAIL
--Passed when run manually
HostSystem - 02_hostsystem_to_rasd.py: FAIL
--Passed when run manually
LogicalDisk - 03_ld_gi_errs.py: FAIL
--Passed when run manually
Memory - 01_memory.py: FAIL
--Passed when run manually
NetworkPort - 01_netport.py: FAIL
--Passed when run manually
ResourceAllocationFromPool - 02_reverse.py: FAIL
--Passed when run manually
ResourceAllocationFromPool - 05_RAPF_err.py: FAIL
--Passed when run manually
VSSD - 04_vssd_to_rasd.py: FAIL
--Passed when run manually
VirtualSystemManagementService - 02_destroysystem.py: FAIL
VirtualSystemManagementService - 08_modifyresource.py: FAIL
Please find the complete report attached with the mail.
Thanks and Regards,
Deepti.
------------------------------------------------------------------------
Starting test suite: libvirt-cim
Cleaned log files.
Testing XenFV hypervisor
AllocationCapabilities - 01_enum.py: PASS
AllocationCapabilities - 02_alloccap_gi_errs.py: PASS
ComputerSystem - 01_enum.py: PASS
ComputerSystem - 02_nosystems.py: PASS
ComputerSystem - 03_defineVS.py: PASS
ComputerSystem - 04_defineStartVS.py: PASS
ComputerSystem - 05_activate_defined_start.py: XFAIL Bug: 00002
ERROR - ERROR: VS DomST1 transition from Defined State to Activate state was not Successful
Bug:<00002>
ComputerSystem - 06_paused_active_suspend.py: FAIL
ERROR - Exception: (1, u'CIM_ERR_FAILED: Domain not running')
ERROR - Unable to suspend dom DomST1 using RequestedStateChange()
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Domain not running
ComputerSystem - 22_define_suspend.py: PASS
ComputerSystem - 23_suspend_suspend.py: FAIL
ERROR - RequestedState should be 2 not 12
ERROR - Attributes for dom test_domain not set as expected.
ComputerSystem - 27_define_suspend_errs.py: PASS
ComputerSystem - 32_start_reboot.py: FAIL
ERROR - RequestedState should be 2 not 12
ERROR - Attributes for dom test_domain not set as expected.
ComputerSystem - 33_suspend_reboot.py: FAIL
ERROR - RequestedState should be 2 not 12
ERROR - Attributes for dom test_domain not set as expected.
ComputerSystem - 35_start_reset.py: FAIL
ERROR - RequestedState should be 2 not 12
ERROR - Attributes for dom test_domain not set as expected.
ComputerSystem - 40_RSC_start.py: FAIL
ERROR - RequestedState should be 2 not 12
ERROR - Exception: ('Attributes for %s not set as expected.', 'test_domain')
ComputerSystem - 41_cs_to_settingdefinestate.py: SKIP
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
ComputerSystem - 42_cs_gi_errs.py: PASS
ComputerSystemIndication - 01_created_indication.py: PASS
ElementAllocatedFromPool - 01_forward.py: SKIP
ElementAllocatedFromPool - 02_reverse.py: SKIP
ElementAllocatedFromPool - 03_reverse_errs.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
ElementAllocatedFromPool - 04_forward_errs.py: FAIL
ERROR - Unexpected rc code 6 and description CIM_ERR_NOT_FOUND: No such instance (hd_domain/hda)
ERROR - ------FAILED: Invalid SystemName KeyName.------
ElementCapabilities - 01_forward.py: PASS
ElementCapabilities - 02_reverse.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
ElementCapabilities - 03_forward_errs.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
ElementCapabilities - 04_reverse_errs.py: PASS
ElementCapabilities - 05_hostsystem_cap.py: PASS
ElementConforms - 01_forward.py: PASS
ElementConforms - 02_reverse.py: FAIL
ERROR - ERROR: Instance for domgst not created
ElementConforms - 03_ectp_fwd_errs.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
ElementConforms - 04_ectp_rev_errs.py: PASS
ElementSettingData - 01_forward.py: SKIP
ElementSettingData - 03_esd_assoc_with_rasd_errs.py: SKIP
EnabledLogicalElementCapabilities - 01_enum.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS
HostSystem - 01_enum.py: PASS
HostSystem - 02_hostsystem_to_rasd.py: FAIL
ERROR - Xen_HostSystem with CrossClass_GuestDom was not returned
HostSystem - 03_hs_to_settdefcap.py: PASS
HostSystem - 04_hs_to_EAPF.py: SKIP
HostSystem - 05_hs_gi_errs.py: PASS
HostSystem - 06_hs_to_vsms.py: PASS
HostedDependency - 01_forward.py: SKIP
HostedDependency - 02_reverse.py: SKIP
HostedDependency - 03_enabledstate.py: SKIP
HostedDependency - 04_reverse_errs.py: SKIP
HostedResourcePool - 01_forward.py: PASS
HostedResourcePool - 02_reverse.py: PASS
HostedResourcePool - 03_forward_errs.py: PASS
HostedResourcePool - 04_reverse_errs.py: PASS
HostedService - 01_forward.py: PASS
HostedService - 02_reverse.py: PASS
HostedService - 03_forward_errs.py: PASS
HostedService - 04_reverse_errs.py: PASS
LogicalDisk - 01_disk.py: PASS
LogicalDisk - 02_nodevs.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
LogicalDisk - 03_ld_gi_errs.py: FAIL
ERROR - Failed to get instance by the class of Xen_LogicalDisk
ERROR - Exception: (6, u'CIM_ERR_NOT_FOUND: No such instance (hd_domain/hda)')
Memory - 01_memory.py: FAIL
ERROR - Capacity should be 262144 MB instead of 131072 MB
Memory - 02_defgetmem.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
Memory - 03_mem_gi_errs.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
NetworkPort - 01_netport.py: FAIL
ERROR - Exception: (6, u'CIM_ERR_NOT_FOUND: No such instance (test_domain/00:11:22:33:44:55)')
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
NetworkPort - 02_np_gi_errors.py: PASS
NetworkPort - 03_user_netport.py: SKIP
Processor - 01_processor.py: PASS
Processor - 02_definesys_get_procs.py: PASS
Processor - 03_proc_gi_errs.py: PASS
Profile - 01_enum.py: SKIP
Profile - 02_profile_to_elec.py: SKIP
Profile - 03_rprofile_gi_errs.py: SKIP
RASD - 01_verify_rasd_fields.py: PASS
RASD - 02_enum.py: PASS
RASD - 03_rasd_errs.py: PASS
ReferencedProfile - 01_verify_refprof.py: PASS
ReferencedProfile - 02_refprofile_errs.py: PASS
ResourceAllocationFromPool - 01_forward.py: PASS
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
ResourceAllocationFromPool - 02_reverse.py: FAIL
ERROR - Exception in get_rasdinst_verify_pool_from_RAFP() fn
ERROR - Exception Details 'list' object has no attribute 'InstanceID'
CIM_ERR_NOT_FOUND: No such instance (RAFP_dom/mem)
ResourceAllocationFromPool - 03_forward_errs.py: PASS
ResourceAllocationFromPool - 04_reverse_errs.py: PASS
ResourceAllocationFromPool - 05_RAPF_err.py: FAIL
ERROR - Xen_NetResourceAllocationSettingData returned 0 instances, excepted atleast 1 instance
ERROR - ------FAILED: to verify the RAFP.------
ResourcePool - 01_enum.py: SKIP
ResourcePool - 02_rp_gi_errors.py: SKIP
ResourcePoolConfigurationCapabilities - 01_enum.py: PASS
ResourcePoolConfigurationCapabilities - 02_rpcc_gi_errs.py: PASS
ResourcePoolConfigurationService - 01_enum.py: PASS
ResourcePoolConfigurationService - 02_rcps_gi_errors.py: PASS
ResourcePoolConfigurationService - 03_CreateResourcePool.py: PASS
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: PASS
ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: PASS
ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py: PASS
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: PASS
SettingsDefine - 01_forward.py: PASS
SettingsDefine - 02_reverse.py: PASS
SettingsDefine - 03_sds_fwd_errs.py: PASS
SettingsDefine - 04_sds_rev_errs.py: PASS
SettingsDefineCapabilities - 01_forward.py: PASS
SettingsDefineCapabilities - 03_forward_errs.py: PASS
SettingsDefineCapabilities - 04_forward_vsmsdata.py: PASS
SettingsDefineCapabilities - 05_reverse_vsmcap.py: PASS
SystemDevice - 01_forward.py: PASS
SystemDevice - 02_reverse.py: PASS
SystemDevice - 03_fwderrs.py: PASS
VSSD - 01_enum.py: PASS
VSSD - 02_bootldr.py: SKIP
VSSD - 03_vssd_gi_errs.py: PASS
VSSD - 04_vssd_to_rasd.py: FAIL
ERROR - Xen_VirtualSystemSettingData with VSSDC_dom was not returned
ERROR - Xen_VirtualSystemSettingData returned 0 VSSD objects, expected only 1
VirtualSystemManagementCapabilities - 01_enum.py: PASS
VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: PASS
VirtualSystemManagementService - 01_definesystem_name.py: PASS
VirtualSystemManagementService - 02_destroysystem.py: FAIL
ERROR - Unknow exception happened
ERROR - (1, u'CIM_ERR_FAILED: Unable to retrieve domain name.')
ERROR - Destroyed multiple domains
InvokeMethod(DestroySystem): CIM_ERR_FAILED: Unable to retrieve domain name.
VirtualSystemManagementService - 03_definesystem_ess.py: PASS
VirtualSystemManagementService - 04_definesystem_ers.py: PASS
libvir: Domain error : invalid domain pointer in virDomainFree
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Domain error : invalid domain pointer in virDomainFree
VirtualSystemManagementService - 05_destroysystem_neg.py: PASS
VirtualSystemManagementService - 06_addresource.py: SKIP
VirtualSystemManagementService - 07_addresource_neg.py: PASS
VirtualSystemManagementService - 08_modifyresource.py: FAIL
ERROR - Error invoking ModifyRS
ERROR - Error changing rs for disk path
VirtualSystemMigrationCapabilities - 01_enum.py: PASS
VirtualSystemMigrationCapabilities - 02_vsmc_gi_errs.py: PASS
VirtualSystemMigrationService - 01_migratable_host.py: SKIP
VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP
VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP
VirtualSystemMigrationSettingData - 01_enum.py: PASS
VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS
VirtualSystemSettingDataComponent - 01_forward.py: SKIP
VirtualSystemSettingDataComponent - 02_reverse.py: PASS
VirtualSystemSettingDataComponent - 03_vssdc_fwd_errs.py: PASS
VirtualSystemSettingDataComponent - 04_vssdc_rev_errs.py: PASS
VirtualSystemSnapshotService - 01_enum.py: PASS
VirtualSystemSnapshotService - 02_vs_sservice_gi_errs.py: PASS
VirtualSystemSnapshotServiceCapabilities - 01_enum.py: PASS
VirtualSystemSnapshotServiceCapabilities - 02_vs_sservicecap_gi_errs.py: PASS
16 years, 6 months
[PATCH] [TEST] Update HostSystem.03 for LXC support
by yunguol@cn.ibm.com
# HG changeset patch
# User Guolian Yun <yunguol(a)cn.ibm.com>
# Date 1213855054 -28800
# Node ID 4443c9e338b481a5ac87cfc444fbb8ac1ef9167c
# Parent fc18447de1be94d839fdb1619811c1294bb279f9
[TEST] Update HostSystem.03 for LXC support
Signed-off-by: Guolian Yun <yunguol(a)cn.ibm.com>
diff -r fc18447de1be -r 4443c9e338b4 suites/libvirt-cim/cimtest/HostSystem/03_hs_to_settdefcap.py
--- a/suites/libvirt-cim/cimtest/HostSystem/03_hs_to_settdefcap.py Wed Jun 18 06:00:10 2008 -0700
+++ b/suites/libvirt-cim/cimtest/HostSystem/03_hs_to_settdefcap.py Thu Jun 19 13:57:34 2008 +0800
@@ -50,14 +50,17 @@
from XenKvmLib.test_xml import testxml
from XenKvmLib.test_doms import destroy_and_undefine_all
-sup_types = ['Xen', 'KVM', 'XenFV']
+sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
test_dom = "domgst"
test_vcpus = 1
def setup_env(server, virt="Xen"):
status = PASS
destroy_and_undefine_all(server)
- vsxml = get_class(virt)(test_dom, vcpus=test_vcpus)
+ if virt == 'LXC':
+ vsxml = get_class(virt)(test_dom)
+ else:
+ vsxml = get_class(virt)(test_dom, vcpus=test_vcpus)
ret = vsxml.define(server)
if not ret:
@@ -113,10 +116,13 @@
status = PASS
devpool = []
- ccnlist = { '%s_ProcessorPool' % virt : 'Processors',
- '%s_MemoryPool' % virt : 'KiloBytes',
- '%s_DiskPool' % virt : 'Megabytes' ,
- '%s_NetworkPool' % virt : None }
+ if virt == 'LXC':
+ ccnlist = { '%s_MemoryPool' % virt : 'KiloBytes'}
+ else:
+ ccnlist = { '%s_ProcessorPool' % virt : 'Processors',
+ '%s_MemoryPool' % virt : 'KiloBytes',
+ '%s_DiskPool' % virt : 'Megabytes' ,
+ '%s_NetworkPool' % virt : None }
try:
assoc_info = Associators(server,
an1,
@@ -149,11 +155,13 @@
alloccap = []
filter = {"key" : "ResourceType"}
-
- ccnlist = { '%s_ProcessorPool' % virt: 3,
- '%s_MemoryPool' % virt : 4,
- '%s_DiskPool' % virt : 17 ,
- '%s_NetworkPool' % virt : 10 }
+ if virt == 'LXC':
+ ccnlist = { '%s_MemoryPool' % virt : 4 }
+ else:
+ ccnlist = { '%s_ProcessorPool' % virt: 3,
+ '%s_MemoryPool' % virt : 4,
+ '%s_DiskPool' % virt : 17 ,
+ '%s_NetworkPool' % virt : 10 }
for inst in devpool:
try:
@@ -190,13 +198,16 @@
status = PASS
ccn = '%s_AllocationCapabilities' % virt
an = '%s_SettingsDefineCapabilities' % virt
-
- rtype = {
- "%s_DiskResourceAllocationSettingData" % virt : 17, \
- "%s_MemResourceAllocationSettingData" % virt : 4, \
- "%s_NetResourceAllocationSettingData" % virt : 10, \
- "%s_ProcResourceAllocationSettingData" % virt : 3
- }
+
+ if virt == 'LXC':
+ rtype = { "%s_MemResourceAllocationSettingData" % virt : 4 }
+ else:
+ rtype = {
+ "%s_DiskResourceAllocationSettingData" % virt : 17, \
+ "%s_MemResourceAllocationSettingData" % virt : 4, \
+ "%s_NetResourceAllocationSettingData" % virt : 10, \
+ "%s_ProcResourceAllocationSettingData" % virt : 3
+ }
rangelist = {
"Default" : 0, \
"Minimum" : 1, \
16 years, 6 months
[PATCH] [TEST] Update HostSystem.02 for LXC support
by yunguol@cn.ibm.com
# HG changeset patch
# User Guolian Yun <yunguol(a)cn.ibm.com>
# Date 1213854217 -28800
# Node ID 05f9fe06593c989e3dab2574b5d59b74afc013b5
# Parent fc18447de1be94d839fdb1619811c1294bb279f9
[TEST] Update HostSystem.02 for LXC support
Signed-off-by: Guolian Yun <yunguol(a)cn.ibm.com>
diff -r fc18447de1be -r 05f9fe06593c suites/libvirt-cim/cimtest/HostSystem/02_hostsystem_to_rasd.py
--- a/suites/libvirt-cim/cimtest/HostSystem/02_hostsystem_to_rasd.py Wed Jun 18 06:00:10 2008 -0700
+++ b/suites/libvirt-cim/cimtest/HostSystem/02_hostsystem_to_rasd.py Thu Jun 19 13:43:37 2008 +0800
@@ -59,7 +59,7 @@
from XenKvmLib.rasd import verify_procrasd_values, verify_netrasd_values, \
verify_diskrasd_values, verify_memrasd_values, rasd_init_list
-sup_types = ['Xen', 'KVM', 'XenFV']
+sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
test_dom = "CrossClass_GuestDom"
@@ -77,10 +77,13 @@
else:
test_disk = "hda"
virt_xml = get_class(virt)
- vsxml_info = virt_xml(test_dom, mem = test_mem,
- vcpus=test_vcpus,
- mac = test_mac,
- disk = test_disk)
+ if virt == 'LXC':
+ vsxml_info = virt_xml(test_dom)
+ else:
+ vsxml_info = virt_xml(test_dom, mem = test_mem,
+ vcpus=test_vcpus,
+ mac = test_mac,
+ disk = test_disk)
ret = vsxml_info.define(server)
if not ret:
16 years, 6 months
[PATCH] [TEST] Fixing 03_user_netport.py tc
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
# Date 1213791390 25200
# Node ID f96b00310c76d5bb109f1f9842eb547eccc29372
# Parent f4a167c62403c8aaaac5127d0c984c74ea863344
[TEST] Fixing 03_user_netport.py tc.
1) Changed the return value to XFAIL since the provider does not support guest with user interface type.
2) Fixed the KeyError.
This tc is dependent on the vxml.py changes submitted today.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r f4a167c62403 -r f96b00310c76 suites/libvirt-cim/cimtest/NetworkPort/03_user_netport.py
--- a/suites/libvirt-cim/cimtest/NetworkPort/03_user_netport.py Tue Jun 17 13:20:47 2008 +0800
+++ b/suites/libvirt-cim/cimtest/NetworkPort/03_user_netport.py Wed Jun 18 05:16:30 2008 -0700
@@ -32,18 +32,18 @@
from XenKvmLib.vxml import KVMXML
from CimTest.Globals import logger
from CimTest.Globals import do_main
-from CimTest.ReturnCodes import PASS, FAIL
+from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC
sup_types = ['KVM']
test_dom = "test_domain"
test_mac = "00:11:22:33:44:55"
+bug = '00004'
@do_main(sup_types)
def main():
options = main.options
- const.KVM_default_net_type = 'user'
- cxml = KVMXML(test_dom, mac = test_mac)
+ cxml = KVMXML(test_dom, mac = test_mac, ntype='user')
ret = cxml.define(options.ip)
if not ret:
logger.error('Unable to define domain %s' % test_dom)
@@ -62,10 +62,10 @@
except Exception, detail:
logger.error("Exception: %s" % detail)
cxml.undefine(options.ip)
- return FAIL
+ return XFAIL_RC(bug)
- if dev == None:
- logger.error("Error retrieving instance for devid %s" % devid)
+ if dev.DeviceID == None:
+ logger.error("Error retrieving instance for devid %s" % dev.DeviceID)
cxml.undefine(options.ip)
return FAIL
16 years, 6 months
[PATCH] [TEST] 2# Update RAFP.01 for LXC support, also add DiskPool and NetworkPool verification
by yunguol@cn.ibm.com
# HG changeset patch
# User Guolian Yun <yunguol(a)cn.ibm.com>
# Date 1213777121 -28800
# Node ID 09f95362435b3fcfc1e37445bb3b394a1ec59885
# Parent f4a167c62403c8aaaac5127d0c984c74ea863344
[TEST] 2# Update RAFP.01 for LXC support, also add DiskPool and NetworkPool verification
2# Test and pass for Xen, KVM and LXC
Signed-off-by: Guolian Yun <yunguol(a)cn.ibm.com>
diff -r f4a167c62403 -r 09f95362435b suites/libvirt-cim/cimtest/ResourceAllocationFromPool/01_forward.py
--- a/suites/libvirt-cim/cimtest/ResourceAllocationFromPool/01_forward.py Tue Jun 17 13:20:47 2008 +0800
+++ b/suites/libvirt-cim/cimtest/ResourceAllocationFromPool/01_forward.py Wed Jun 18 16:18:41 2008 +0800
@@ -26,17 +26,64 @@
from VirtLib import utils
from XenKvmLib import assoc
from XenKvmLib import enumclass
+from XenKvmLib.test_doms import destroy_and_undefine_all
+from XenKvmLib.vxml import get_class
from XenKvmLib.classes import get_typed_class
from CimTest import Globals
from CimTest.Globals import logger, do_main
+from XenKvmLib.common_util import cleanup_restore, create_diskpool_conf, \
+create_netpool_conf
from CimTest.ReturnCodes import PASS, FAIL, XFAIL
-sup_types = ['Xen', 'XenFV', 'KVM']
+sup_types = ['Xen', 'XenFV', 'KVM', 'LXC']
+
+test_dom = "RAFP_dom"
+test_vcpus = 1
+test_mem = 128
+test_mac = "00:11:22:33:44:aa"
+
+def setup_env(server, virt):
+ destroy_and_undefine_all(server)
+ vsxml = None
+ if virt == "Xen":
+ test_disk = "xvda"
+ else:
+ test_disk = "hda"
+
+ virtxml = get_class(virt)
+ if virt == 'LXC':
+ vsxml = virtxml(test_dom)
+ else:
+ vsxml = virtxml(test_dom, mem=test_mem, vcpus = test_vcpus,
+ mac = test_mac, disk = test_disk)
+ try:
+ ret = vsxml.define(server)
+ if not ret:
+ logger.error("Failed to Define the domain: %s", test_dom)
+ return FAIL, vsxml, test_disk
+
+ except Exception, details:
+ logger.error("Exception : %s", details)
+ return FAIL, vsxml, test_disk
+
+ return PASS, vsxml, test_disk
@do_main(sup_types)
def main():
options = main.options
status = PASS
+
+ status, vsxml, test_disk = setup_env(options.ip, options.virt)
+ if status != PASS:
+ return status
+
+ status, diskid = create_diskpool_conf(options.ip, options.virt)
+ if status != PASS:
+ return status
+
+ status, test_network = create_netpool_conf(options.ip, options.virt)
+ if status != PASS:
+ return status
try:
key_list = { 'InstanceID' : "MemoryPool/0" }
@@ -57,6 +104,27 @@
except Exception:
logger.error(Globals.CIM_ERROR_GETINSTANCE % "ProcessorPool")
return FAIL
+
+ try:
+ key_list = { 'InstanceID' : diskid}
+ diskpool = enumclass.getInstance(options.ip,
+ "DiskPool",
+ key_list,
+ options.virt)
+ except Exception:
+ logger.error(Globals.CIM_ERROR_GETINSTANCE % "DiskPool")
+ return FAIL
+
+ try:
+ key_list = { 'InstanceID' : "NetworkPool/%s" % test_network }
+ netpool = enumclass.getInstance(options.ip,
+ "NetworkPool",
+ key_list,
+ options.virt)
+ except Exception:
+ logger.error(Globals.CIM_ERROR_GETINSTANCE % "NetworkPool")
+ return FAIL
+
try:
memdata = assoc.AssociatorNames(options.ip, "ResourceAllocationFromPool",
@@ -86,6 +154,35 @@
logger.error("ERROR: Association result error")
status = FAIL
+ try:
+ diskdata = assoc.AssociatorNames(options.ip, "ResourceAllocationFromPool",
+ "DiskPool",
+ options.virt,
+ InstanceID = diskpool.InstanceID)
+ except Exception:
+ logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES % diskpool.InstanceID)
+ status = FAIL
+
+ for i in range(len(diskdata)):
+ if diskdata[i].classname != get_typed_class(options.virt, "DiskResourceAllocationSettingData"):
+ logger.error("ERROR: Association result error")
+ status = FAIL
+
+ try:
+ netdata = assoc.AssociatorNames(options.ip, "ResourceAllocationFromPool",
+ "NetworkPool",
+ options.virt,
+ InstanceID = netpool.InstanceID)
+ except Exception:
+ logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES % netpool.InstanceID)
+ status = FAIL
+
+ for i in range(len(netdata)):
+ if netdata[i].classname != get_typed_class(options.virt, "NetResourceAllocationSettingData"):
+ logger.error("ERROR: Association result error")
+ status = FAIL
+
+
return status
16 years, 6 months
[PATCH 0 of 6] Add scheduling parameter persistence
by Dan Smith
Since libvirt does not persist tuning parameters like those needed to control
the scheduler, this set introduces an additional persistence layer. It also
makes DefineSystem() and ModifyResources() save that information and makes
ComputerSystem set the parameters on domain startup.
Comments welcome.
16 years, 6 months
discussion on class list for LXC support
by Guo Lian Yun
Kaitlin,
I'm not sure whether below test case have to update for LXC support.
1) Domain state change -- Container guest doesn't make state change,
right?
ComputerSystem - 06_paused_active_suspend.py: SKIP
ComputerSystem - 22_define_suspend.py: PASS
ComputerSystem - 23_suspend_suspend.py: SKIP
ComputerSystem - 27_define_suspend_errs.py: SKIP
ComputerSystem - 32_start_reboot.py: SKIP
ComputerSystem - 33_suspend_reboot.py: SKIP
ComputerSystem - 35_start_reset.py: SKIP
ComputerSystem - 40_RSC_start.py: SKIP
ComputerSystem - 41_cs_to_settingdefinestate.py: SKIP
HostedDependency - 03_enabledstate.py: SKIP
2) Device support now -- Container guest can only support memory now?
LogicalDisk - 01_disk.py: SKIP
LogicalDisk - 02_nodevs.py: SKIP
LogicalDisk - 03_ld_gi_errs.py: SKIP
NetworkPort - 01_netport.py: SKIP
NetworkPort - 02_np_gi_errors.py: SKIP
NetworkPort - 03_user_netport.py: SKIP
Processor - 01_processor.py: SKIP
Processor - 02_definesys_get_procs.py: SKIP
Processor - 03_proc_gi_errs.py: SKIP
3) ResourcePool operation
ResourcePoolConfigurationService - 03_CreateResourcePool.py: SKIP
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: SKIP
ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: SKIP
ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py:
SKIP
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: SKIP
4) VirtualSystemMigrationService
VirtualSystemMigrationService - 01_migratable_host.py: SKIP
VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP
VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP
If all of the list tc can be skip, we can say that nearly all of test case
support LXC now. On the next,
I will focus on cimtest running on F9 and try to fix bugs. Kaitlin - any
suggestion on the next work besides
cimtest running? And what's your plan on the next month?
Thanks!
Best,
Regards
Daisy (运国莲)
VSM Team, China Systems & Technology Labs (CSTL)
E-mail: yunguol(a)cn.ibm.com
TEL: (86)-21-60922144
Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203
16 years, 6 months
[PATCH] [TEST] Fixing the tc 04_vssd_to_rasd.py which was failing bcs of rasd.py changes
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
# Date 1213794010 25200
# Node ID 9a47268dea2f70cb290f85e24c3bf0d2bada66e5
# Parent f4a167c62403c8aaaac5127d0c984c74ea863344
[TEST] Fixing the tc 04_vssd_to_rasd.py which was failing bcs of rasd.py changes.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r f4a167c62403 -r 9a47268dea2f suites/libvirt-cim/cimtest/VSSD/04_vssd_to_rasd.py
--- a/suites/libvirt-cim/cimtest/VSSD/04_vssd_to_rasd.py Tue Jun 17 13:20:47 2008 +0800
+++ b/suites/libvirt-cim/cimtest/VSSD/04_vssd_to_rasd.py Wed Jun 18 06:00:10 2008 -0700
@@ -51,8 +51,9 @@
from XenKvmLib import assoc
from XenKvmLib.vxml import get_class
from XenKvmLib.classes import get_typed_class
+from XenKvmLib import rasd
from XenKvmLib.rasd import verify_procrasd_values, verify_netrasd_values, \
-verify_diskrasd_values, verify_memrasd_values
+verify_diskrasd_values, verify_memrasd_values, rasd_init_list
sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
@@ -84,41 +85,6 @@
logger.error("Exception : %s", details)
return FAIL, vsxml_info
return PASS, vsxml_info
-
-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')
- }
-
- 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, vssd_list, filter_name, exp_val):
status = PASS
@@ -193,7 +159,17 @@
return status, vssdc_assoc_info
def verify_rasd_values(rasd_values_info):
- procrasd, netrasd, diskrasd, memrasd = init_list(virt)
+ status, rasd_values_list, in_list = rasd_init_list(vsxml, virt, test_disk,
+ test_dom, test_mac,
+ test_mem)
+ if status != PASS:
+ return status
+
+ procrasd = rasd_values_list['%s' %in_list['proc']]
+ netrasd = rasd_values_list['%s' %in_list['net']]
+ diskrasd = rasd_values_list['%s' %in_list['disk']]
+ memrasd = rasd_values_list['%s' %in_list['mem']]
+
try:
for rasd_instance in rasd_values_info:
CCName = rasd_instance.classname
16 years, 6 months
[PATCH] [TEST] Update RAFP.01 for LXC support, also fix Diskpool and NetworkPool missing
by yunguol@cn.ibm.com
# HG changeset patch
# User Guolian Yun <yunguol(a)cn.ibm.com>
# Date 1213685796 -28800
# Node ID 72d19c4c969b8b4239a5cdf2107fa279782f9d96
# Parent 6652ca49942c0314ec1b2b1da504810325097250
[TEST] Update RAFP.01 for LXC support, also fix Diskpool and NetworkPool missing
Signed-off-by: Guolian Yun <yunguol(a)cn.ibm.com>
diff -r 6652ca49942c -r 72d19c4c969b suites/libvirt-cim/cimtest/ResourceAllocationFromPool/01_forward.py
--- a/suites/libvirt-cim/cimtest/ResourceAllocationFromPool/01_forward.py Thu Jun 12 17:13:23 2008 +0800
+++ b/suites/libvirt-cim/cimtest/ResourceAllocationFromPool/01_forward.py Tue Jun 17 14:56:36 2008 +0800
@@ -24,70 +24,164 @@
import sys
from VirtLib import utils
+from XenKvmLib.test_doms import destroy_and_undefine_all
+from XenKvmLib.vxml import get_class
from XenKvmLib import assoc
from XenKvmLib import enumclass
from XenKvmLib.classes import get_typed_class
from CimTest import Globals
from CimTest.Globals import logger, do_main
+from XenKvmLib.common_util import cleanup_restore, create_diskpool_conf, \
+create_netpool_conf
from CimTest.ReturnCodes import PASS, FAIL, XFAIL
-sup_types = ['Xen', 'XenFV', 'KVM']
+sup_types = ['Xen', 'XenFV', 'KVM', 'LXC']
+
+test_dom = 'RAFP_domain'
+test_mac = '00:11:22:33:44:55'
+
+def setup_env(server, virt):
+ destroy_and_undefine_all(server)
+ vsxml = None
+ if virt == "Xen":
+ test_disk = "xvda"
+ else:
+ test_disk = "hda"
+
+ virtxml = get_class(virt)
+ if virt == 'LXC':
+ vsxml = virtxml(test_dom)
+ else:
+ vsxml = virtxml(test_dom, disk = test_disk)
+ try:
+ ret = vsxml.define(server)
+ if not ret:
+ logger.error("Failed to Define the domain: %s", test_dom)
+ return FAIL, vsxml, test_disk
+
+ except Exception, details:
+ logger.error("Exception : %s", details)
+ return FAIL, vsxml, test_disk
+
+ return PASS, vsxml, test_disk
+
+def init_list(test_disk, diskid, test_network, virt='Xen'):
+
+ proc = { 'rasd_id' : '%s/%s' % (test_dom, 'proc'),
+ 'pool_id' : 'ProcessorPool/0'
+ }
+
+ mem = { 'rasd_id' : '%s/%s' % (test_dom,'mem'),
+ 'pool_id' : 'MemoryPool/0'
+ }
+
+ net = {
+ 'rasd_id' : '%s/%s' % (test_dom, test_mac),
+ 'pool_id' : 'NetworkPool/%s' %test_network
+ }
+
+ disk = { 'rasd_id' : '%s/%s' % (test_dom, test_disk),
+ 'pool_id' : diskid
+ }
+
+ if virt == 'LXC':
+ cn_id_list = {
+ 'MemResourceAllocationSettingData' : mem,
+ }
+ else:
+ cn_id_list = {
+ 'MemResourceAllocationSettingData' : mem,
+ 'ProcResourceAllocationSettingData' : proc,
+ 'NetResourceAllocationSettingData' : net,
+ 'DiskResourceAllocationSettingData' : disk
+ }
+
+ return cn_id_list
+
+def get_rasd_instance(server, virt, key_list, cn):
+ inst = None
+ try:
+ inst = enumclass.getInstance(server, cn, key_list, virt)
+ except Exception, details:
+ logger.error(Globals.CIM_ERROR_GETINSTANCE, cn)
+ logger.error("Exception details: %s", details)
+ return inst, FAIL
+
+ return inst, PASS
+
+def verify_rasd_from_RAFP(server, virt, inst, rasd_id, cn):
+ rasd = []
+ try:
+ rasd = assoc.AssociatorNames(server, "ResourceAllocationFromPool",
+ cn, virt, InstanceID = inst.InstanceID)
+ except Exception:
+ logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES, inst.InstanceID)
+ return FAIL
+
+ if len(rasd) != 1:
+ logger.error("No associated rasd for %s", inst.InstanceID)
+ return FAIL
+
+ if rasd[0]['InstanceID'] != rasd_id:
+ logger.error("InstanceID Mismatch")
+ logger.error("Returned %s instead of %s", rasd[0]['InstanceID'] ,
+ pool_id)
+ return FAIL
+
+ return PASS
+
+def get_rasdinst_verify_rasd_from_RAFP(server, virt, vsxml, cn, id_info):
+ try:
+ key_list = { 'InstanceID' : id_info['rasd_id'] }
+ rasd_cn = get_typed_class(virt, cn)
+ rasdinst, status = get_rasd_instance(server, virt, key_list, rasd_cn)
+ if status != PASS or rasdinst.InstanceID == None:
+ vsxml.undefine(server)
+ return status
+
+ status = verify_rasd_from_RAFP(server, virt, rasdinst,
+ id_info['pool_id'], cn)
+ except Exception, details:
+ logger.error("Exception in get_rasdinst_verify_pool_from_RAFP() fn")
+ logger.error("Exception Details %s", details)
+ status = FAIL
+
+ if status != PASS:
+ vsxml.undefine(server)
+
+ return status
@do_main(sup_types)
def main():
options = main.options
status = PASS
- try:
- key_list = { 'InstanceID' : "MemoryPool/0" }
- mempool = enumclass.getInstance(options.ip,
- "MemoryPool",
- key_list,
- options.virt)
- except Exception:
- logger.error(Globals.CIM_ERROR_GETINSTANCE % "MemoryPool")
- return FAIL
+ server = options.ip
+ virt = options.virt
- try:
- key_list = { 'InstanceID' : "ProcessorPool/0" }
- procpool = enumclass.getInstance(options.ip,
- "ProcessorPool",
- key_list,
- options.virt)
- except Exception:
- logger.error(Globals.CIM_ERROR_GETINSTANCE % "ProcessorPool")
- return FAIL
-
- try:
- memdata = assoc.AssociatorNames(options.ip, "ResourceAllocationFromPool",
- "MemoryPool",
- options.virt,
- InstanceID = mempool.InstanceID)
- except Exception:
- logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES % mempool.InstanceID)
- status = FAIL
-
- for i in range(len(memdata)):
- if memdata[i].classname != get_typed_class(options.virt, "MemResourceAllocationSettingData"):
- logger.error("ERROR: Association result error")
- status = FAIL
-
- try:
- procdata = assoc.AssociatorNames(options.ip, "ResourceAllocationFromPool",
- "ProcessorPool",
- options.virt,
- InstanceID = procpool.InstanceID)
- except Exception:
- logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES % procpool.InstanceID)
- status = FAIL
-
- for j in range(len(procdata)):
- if procdata[j].classname != get_typed_class(options.virt, "ProcResourceAllocationSettingData"):
- logger.error("ERROR: Association result error")
- status = FAIL
+ status, vsxml, test_disk = setup_env(server, virt)
+ if status != PASS:
+ return status
- return status
-
-
+ status, diskid = create_diskpool_conf(server, virt)
+ if status != PASS:
+ return status
+
+ status, test_network = create_netpool_conf(server, virt)
+ if status != PASS:
+ return status
+
+ cn_id_list = init_list(test_disk, diskid, test_network, options.virt)
+
+ for rasd_cn, id_info in cn_id_list.iteritems():
+ status = get_rasdinst_verify_rasd_from_RAFP(server, virt, vsxml,
+ rasd_cn, id_info)
+ if status != PASS:
+ return status
+
+ cleanup_restore(server, virt)
+ vsxml.undefine(server)
+ return status
+
if __name__ == "__main__":
sys.exit(main())
16 years, 6 months