CIM
Threads by month
- ----- 2025 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- 3141 discussions

Test Run Summary (Mar 30 2009): Xen on Red Hat Enterprise Linux Server release 5.3 (Tikanga) with Pegasus
by Deepti B Kalakeri 30 Mar '09
by Deepti B Kalakeri 30 Mar '09
30 Mar '09
=================================================
Test Run Summary (Mar 30 2009): Xen on Red Hat Enterprise Linux Server release 5.3 (Tikanga) with Pegasus
=================================================
Distro: Red Hat Enterprise Linux Server release 5.3 (Tikanga)
Kernel: 2.6.18-128.el5xen
libvirt: 0.3.3
Hypervisor: Xen 3.1.0
CIMOM: Pegasus 2.7.1
Libvirt-cim revision: 838
Libvirt-cim changeset: 68bcaa603bd7
Cimtest revision:
Cimtest changeset:
=================================================
FAIL : 9
XFAIL : 2
SKIP : 3
PASS : 135
-----------------
Total : 149
=================================================
FAIL Test Summary:
ComputerSystem - 01_enum.py: FAIL
ComputerSystem - 32_start_reboot.py: FAIL
ElementCapabilities - 01_forward.py: FAIL
ElementCapabilities - 02_reverse.py: FAIL
EnabledLogicalElementCapabilities - 01_enum.py: FAIL
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: FAIL
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
VirtualSystemMigrationService - 06_remote_live_migration.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 33_suspend_reboot.py: XFAIL
VirtualSystemManagementService - 16_removeresource.py: XFAIL
=================================================
SKIP Test Summary:
ComputerSystem - 02_nosystems.py: SKIP
LogicalDisk - 02_nodevs.py: SKIP
NetworkPort - 03_user_netport.py: SKIP
=================================================
Full report:
--------------------------------------------------------------------
AllocationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
AllocationCapabilities - 02_alloccap_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 01_enum.py: FAIL
ERROR - Provider does not report system `Xen', but virsh does
--------------------------------------------------------------------
ComputerSystem - 02_nosystems.py: SKIP
--------------------------------------------------------------------
ComputerSystem - 03_defineVS.py: PASS
--------------------------------------------------------------------
ComputerSystem - 04_defineStartVS.py: PASS
--------------------------------------------------------------------
ComputerSystem - 05_activate_defined_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 06_paused_active_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 22_define_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 23_pause_pause.py: PASS
--------------------------------------------------------------------
ComputerSystem - 27_define_pause_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 32_start_reboot.py: FAIL
ERROR - Unable to check guest state
ERROR - Exception: Wrong guest instance
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: Wrong guest instance
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Unable to check guest state
ERROR - Exception: EnabledState is 3, expected 2.
ERROR - Exception: Unable reboot dom 'cs_test_domain'
CIM_ERR_FAILED: Unable to get domain information: internal error domain information incomplete, missing id
CIM_ERR_NOT_FOUND: Referenced domain `cs_test_domain' does not exist: internal error failed to parse Xend domain information
--------------------------------------------------------------------
ComputerSystem - 33_suspend_reboot.py: XFAIL
ERROR - Got CIM error CIM_ERR_NOT_SUPPORTED: State not supported with return code 7
ERROR - Exception: Unable Suspend dom 'test_domain'
InvokeMethod(RequestStateChange): CIM_ERR_NOT_SUPPORTED: State not supported
Bug:<00012>
--------------------------------------------------------------------
ComputerSystem - 35_start_reset.py: PASS
--------------------------------------------------------------------
ComputerSystem - 40_RSC_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 41_cs_to_settingdefinestate.py: PASS
--------------------------------------------------------------------
ComputerSystem - 42_cs_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystemIndication - 01_created_indication.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 03_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 04_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 01_forward.py: FAIL
ERROR - IndexError : list index out of range
Traceback (most recent call last):
File "./lib/XenKvmLib/const.py", line 143, in do_try
File "01_forward.py", line 138, in main
if elec[0].classname != cn:
IndexError: list index out of range
ERROR - None
CIM_ERR_INVALID_CLASS: Linux_ComputerSystem
CIM_ERR_NOT_FOUND: Referenced domain `Xen' does not exist: Domain not found: xenUnifiedDomainLookupByName
--------------------------------------------------------------------
ElementCapabilities - 02_reverse.py: FAIL
ERROR - No ELEC instances returned
CIM_ERR_INVALID_CLASS: Linux_ComputerSystem
CIM_ERR_NOT_FOUND: No such instance (Xen): Domain not found: xenUnifiedDomainLookupByName
--------------------------------------------------------------------
ElementCapabilities - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 05_hostsystem_cap.py: PASS
--------------------------------------------------------------------
ElementConforms - 01_forward.py: PASS
--------------------------------------------------------------------
ElementConforms - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementConforms - 03_ectp_fwd_errs.py: PASS
--------------------------------------------------------------------
ElementConforms - 04_ectp_rev_errs.py: PASS
--------------------------------------------------------------------
ElementSettingData - 01_forward.py: PASS
--------------------------------------------------------------------
ElementSettingData - 03_esd_assoc_with_rasd_errs.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 01_enum.py: FAIL
ERROR - Get domain list error, the number of domains is not equal
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 01_enum.py: PASS
--------------------------------------------------------------------
HostSystem - 02_hostsystem_to_rasd.py: PASS
--------------------------------------------------------------------
HostSystem - 03_hs_to_settdefcap.py: PASS
--------------------------------------------------------------------
HostSystem - 04_hs_to_EAPF.py: PASS
--------------------------------------------------------------------
HostSystem - 05_hs_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 06_hs_to_vsms.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 01_forward.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 01_forward.py: PASS
--------------------------------------------------------------------
HostedDependency - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 03_enabledstate.py: PASS
--------------------------------------------------------------------
HostedDependency - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
KVMRedirectionSAP - 01_enum_KVMredSAP.py: PASS
--------------------------------------------------------------------
LogicalDisk - 01_disk.py: PASS
--------------------------------------------------------------------
LogicalDisk - 02_nodevs.py: SKIP
ERROR - System has defined domains; unable to run
--------------------------------------------------------------------
LogicalDisk - 03_ld_gi_errs.py: PASS
--------------------------------------------------------------------
Memory - 01_memory.py: PASS
--------------------------------------------------------------------
Memory - 02_defgetmem.py: PASS
--------------------------------------------------------------------
Memory - 03_mem_gi_errs.py: PASS
--------------------------------------------------------------------
NetworkPort - 01_netport.py: PASS
--------------------------------------------------------------------
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: PASS
--------------------------------------------------------------------
Profile - 02_profile_to_elec.py: PASS
--------------------------------------------------------------------
Profile - 03_rprofile_gi_errs.py: PASS
--------------------------------------------------------------------
RASD - 01_verify_rasd_fields.py: PASS
--------------------------------------------------------------------
RASD - 02_enum.py: PASS
--------------------------------------------------------------------
RASD - 03_rasd_errs.py: PASS
--------------------------------------------------------------------
RASD - 04_disk_rasd_size.py: PASS
--------------------------------------------------------------------
RASD - 05_disk_rasd_emu_type.py: PASS
--------------------------------------------------------------------
RedirectionService - 01_enum_crs.py: PASS
--------------------------------------------------------------------
RedirectionService - 02_enum_crscap.py: PASS
--------------------------------------------------------------------
RedirectionService - 03_RedirectionSAP_errs.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 01_verify_refprof.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 02_refprofile_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 05_RAPF_err.py: PASS
--------------------------------------------------------------------
ResourcePool - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePool - 02_rp_gi_errors.py: PASS
--------------------------------------------------------------------
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: FAIL
ERROR - Unexpected rc code 4 and description CIM_ERR_INVALID_PARAMETER
InvokeMethod(CreateChildResourcePool): CIM_ERR_INVALID_PARAMETER
--------------------------------------------------------------------
ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 01_forward.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 02_reverse.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: PASS
--------------------------------------------------------------------
VSSD - 03_vssd_gi_errs.py: PASS
--------------------------------------------------------------------
VSSD - 04_vssd_to_rasd.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 01_definesystem_name.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 02_destroysystem.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 03_definesystem_ess.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 04_definesystem_ers.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 05_destroysystem_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 06_addresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 07_addresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 08_modifyresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 09_procrasd_persist.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 10_hv_version.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 11_define_memrasdunits.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 12_referenced_config.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 13_refconfig_additional_devs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 14_define_sys_disk.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 15_mod_system_settings.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 16_removeresource.py: XFAIL
ERROR - 0 RASD insts for domain/mouse:xen
CIM_ERR_NOT_FOUND: No such instance (no device domain/mouse:xen)
Bug:<00014>
--------------------------------------------------------------------
VirtualSystemManagementService - 17_removeresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationCapabilities - 02_vsmc_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
ERROR - Error create domain dom_migrate
--------------------------------------------------------------------
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
ERROR - Migration timed out....
ERROR - Increase timeout > 50 and try again..
--------------------------------------------------------------------
VirtualSystemMigrationService - 05_migratable_host_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 06_remote_live_migration.py: FAIL
ERROR - Need to give different bridge name since it already exists
ERROR - Exception: In fn create_netpool_conf(): 2
ERROR - Exception details :Unable to create network pool 'cimtest-networkpool' on 'elm3b25.beaverton.ibm.com'
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 01_forward.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik(a)linux.vnet.ibm.com
1
0

Test Run Summary (Mar 30 2009): KVM on Fedora release 10 (Cambridge) with Pegasus
by Deepti B Kalakeri 30 Mar '09
by Deepti B Kalakeri 30 Mar '09
30 Mar '09
=================================================
Test Run Summary (Mar 30 2009): KVM on Fedora release 10 (Cambridge) with Pegasus
=================================================
Distro: Fedora release 10 (Cambridge)
Kernel: 2.6.27.15-170.2.24.fc10.x86_64
libvirt: 0.5.1
Hypervisor: QEMU 0.9.1
CIMOM: Pegasus 2.7.1
Libvirt-cim revision: 812
Libvirt-cim changeset: bad1a43ac1b0
Cimtest revision: 659
Cimtest changeset: 9e3054481df4
=================================================
FAIL : 1
XFAIL : 3
SKIP : 4
PASS : 141
-----------------
Total : 149
=================================================
FAIL Test Summary:
VirtualSystemMigrationService - 06_remote_live_migration.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 32_start_reboot.py: XFAIL
ComputerSystem - 33_suspend_reboot.py: XFAIL
VirtualSystemManagementService - 09_procrasd_persist.py: XFAIL
=================================================
SKIP Test Summary:
VSSD - 02_bootldr.py: SKIP
VirtualSystemMigrationService - 01_migratable_host.py: SKIP
VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP
VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP
=================================================
Full report:
--------------------------------------------------------------------
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: PASS
--------------------------------------------------------------------
ComputerSystem - 06_paused_active_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 22_define_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 23_pause_pause.py: PASS
--------------------------------------------------------------------
ComputerSystem - 27_define_pause_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 32_start_reboot.py: XFAIL
ERROR - Got CIM error CIM_ERR_FAILED: Unable to reboot domain: this function is not supported by the hypervisor: virDomainReboot with return code 1
ERROR - Exception: Unable reboot dom 'cs_test_domain'
InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Unable to reboot domain: this function is not supported by the hypervisor: virDomainReboot
Bug:<00005>
--------------------------------------------------------------------
ComputerSystem - 33_suspend_reboot.py: XFAIL
ERROR - Got CIM error CIM_ERR_NOT_SUPPORTED: State not supported with return code 7
ERROR - Exception: Unable Suspend dom 'test_domain'
InvokeMethod(RequestStateChange): CIM_ERR_NOT_SUPPORTED: State not supported
Bug:<00012>
--------------------------------------------------------------------
ComputerSystem - 35_start_reset.py: PASS
--------------------------------------------------------------------
ComputerSystem - 40_RSC_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 41_cs_to_settingdefinestate.py: PASS
--------------------------------------------------------------------
ComputerSystem - 42_cs_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystemIndication - 01_created_indication.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 03_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 04_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 01_forward.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 05_hostsystem_cap.py: PASS
--------------------------------------------------------------------
ElementConforms - 01_forward.py: PASS
--------------------------------------------------------------------
ElementConforms - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementConforms - 03_ectp_fwd_errs.py: PASS
--------------------------------------------------------------------
ElementConforms - 04_ectp_rev_errs.py: PASS
--------------------------------------------------------------------
ElementSettingData - 01_forward.py: PASS
--------------------------------------------------------------------
ElementSettingData - 03_esd_assoc_with_rasd_errs.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 01_enum.py: PASS
--------------------------------------------------------------------
HostSystem - 02_hostsystem_to_rasd.py: PASS
--------------------------------------------------------------------
HostSystem - 03_hs_to_settdefcap.py: PASS
--------------------------------------------------------------------
HostSystem - 04_hs_to_EAPF.py: PASS
--------------------------------------------------------------------
HostSystem - 05_hs_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 06_hs_to_vsms.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 01_forward.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 01_forward.py: PASS
--------------------------------------------------------------------
HostedDependency - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 03_enabledstate.py: PASS
--------------------------------------------------------------------
HostedDependency - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
KVMRedirectionSAP - 01_enum_KVMredSAP.py: PASS
--------------------------------------------------------------------
LogicalDisk - 01_disk.py: PASS
--------------------------------------------------------------------
LogicalDisk - 02_nodevs.py: PASS
--------------------------------------------------------------------
LogicalDisk - 03_ld_gi_errs.py: PASS
--------------------------------------------------------------------
Memory - 01_memory.py: PASS
--------------------------------------------------------------------
Memory - 02_defgetmem.py: PASS
--------------------------------------------------------------------
Memory - 03_mem_gi_errs.py: PASS
--------------------------------------------------------------------
NetworkPort - 01_netport.py: PASS
--------------------------------------------------------------------
NetworkPort - 02_np_gi_errors.py: PASS
--------------------------------------------------------------------
NetworkPort - 03_user_netport.py: PASS
--------------------------------------------------------------------
Processor - 01_processor.py: PASS
--------------------------------------------------------------------
Processor - 02_definesys_get_procs.py: PASS
--------------------------------------------------------------------
Processor - 03_proc_gi_errs.py: PASS
--------------------------------------------------------------------
Profile - 01_enum.py: PASS
--------------------------------------------------------------------
Profile - 02_profile_to_elec.py: PASS
--------------------------------------------------------------------
Profile - 03_rprofile_gi_errs.py: PASS
--------------------------------------------------------------------
RASD - 01_verify_rasd_fields.py: PASS
--------------------------------------------------------------------
RASD - 02_enum.py: PASS
--------------------------------------------------------------------
RASD - 03_rasd_errs.py: PASS
--------------------------------------------------------------------
RASD - 04_disk_rasd_size.py: PASS
--------------------------------------------------------------------
RASD - 05_disk_rasd_emu_type.py: PASS
--------------------------------------------------------------------
RedirectionService - 01_enum_crs.py: PASS
--------------------------------------------------------------------
RedirectionService - 02_enum_crscap.py: PASS
--------------------------------------------------------------------
RedirectionService - 03_RedirectionSAP_errs.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 01_verify_refprof.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 02_refprofile_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 05_RAPF_err.py: PASS
--------------------------------------------------------------------
ResourcePool - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePool - 02_rp_gi_errors.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
ServiceAccessBySAP - 01_forward.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 02_reverse.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: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 01_definesystem_name.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 02_destroysystem.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 03_definesystem_ess.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 04_definesystem_ers.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 05_destroysystem_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 06_addresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 07_addresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 08_modifyresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 09_procrasd_persist.py: XFAIL
--------------------------------------------------------------------
VirtualSystemManagementService - 10_hv_version.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 11_define_memrasdunits.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 12_referenced_config.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 13_refconfig_additional_devs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 14_define_sys_disk.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 15_mod_system_settings.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 16_removeresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 17_removeresource_neg.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
VirtualSystemMigrationService - 06_remote_live_migration.py: FAIL
ERROR - Failed to create Virtual Network 'cimtest-networkpool'
ERROR - Exception details :Unable to create network pool 'cimtest-networkpool' on 'elm3a148.beaverton.ibm.com'
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 01_forward.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik(a)linux.vnet.ibm.com
1
0

Test Run Summary (Mar 30 2009): KVM on Fedora release 10 (Cambridge) with sfcb
by Guo Lian Yun 30 Mar '09
by Guo Lian Yun 30 Mar '09
30 Mar '09
=================================================
Test Run Summary (Mar 30 2009): KVM on Fedora release 10 (Cambridge) with
sfcb
=================================================
Distro: Fedora release 10 (Cambridge)
Kernel: 2.6.27.15-170.2.24.fc10.x86_64
libvirt: 0.4.5
Hypervisor: QEMU 0.9.1
CIMOM: sfcb sfcbd 1.3.4preview
Libvirt-cim revision: 838
Libvirt-cim changeset: 68bcaa603bd7
Cimtest revision: 659
Cimtest changeset: 9e3054481df4
=================================================
FAIL : 2
XFAIL : 4
SKIP : 5
PASS : 138
-----------------
Total : 149
=================================================
FAIL Test Summary:
ComputerSystemIndication - 01_created_indication.py: FAIL
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 32_start_reboot.py: XFAIL
ComputerSystem - 33_suspend_reboot.py: XFAIL
VirtualSystemManagementService - 09_procrasd_persist.py: XFAIL
VirtualSystemManagementService - 16_removeresource.py: XFAIL
=================================================
SKIP Test Summary:
VSSD - 02_bootldr.py: SKIP
VirtualSystemMigrationService - 01_migratable_host.py: SKIP
VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP
VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP
VirtualSystemMigrationService - 06_remote_live_migration.py: SKIP
=================================================
Full report:
--------------------------------------------------------------------
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: PASS
--------------------------------------------------------------------
ComputerSystem - 06_paused_active_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 22_define_suspend.py: PASS
--------------------------------------------------------------------
ComputerSystem - 23_pause_pause.py: PASS
--------------------------------------------------------------------
ComputerSystem - 27_define_pause_errs.py: PASS
--------------------------------------------------------------------
ComputerSystem - 32_start_reboot.py: XFAIL
ERROR - Got CIM error Unable to reboot domain: this function is
not supported by the hypervisor: virDomainReboot with return code 1
ERROR - Exception: Unable reboot dom 'cs_test_domain'
InvokeMethod(RequestStateChange): Unable to reboot domain: this function
is not supported by the hypervisor: virDomainReboot
Bug:<00005>
--------------------------------------------------------------------
ComputerSystem - 33_suspend_reboot.py: XFAIL
ERROR - Got CIM error State not supported with return code 7
ERROR - Exception: Unable Suspend dom 'test_domain'
InvokeMethod(RequestStateChange): State not supported
Bug:<00012>
--------------------------------------------------------------------
ComputerSystem - 35_start_reset.py: PASS
--------------------------------------------------------------------
ComputerSystem - 40_RSC_start.py: PASS
--------------------------------------------------------------------
ComputerSystem - 41_cs_to_settingdefinestate.py: PASS
--------------------------------------------------------------------
ComputerSystem - 42_cs_gi_errs.py: PASS
--------------------------------------------------------------------
ComputerSystemIndication - 01_created_indication.py: FAIL
ERROR - Exception : Request Failed: 200
Traceback (most recent call last):
File "./lib/XenKvmLib/const.py", line 143, in do_try
File "01_created_indication.py", line 146, in main
sub_list, ind_names, dict = sub_ind(ip, virt)
File "01_created_indication.py", line 60, in sub_ind
sub.subscribe(dict['default_url'], dict['default_auth'])
File
"/data/users/daisy/cimtest/suites/libvirt-cim/lib/XenKvmLib/indication_tester.py",
line 345, in subscribe
"CreateInstance", auth_hdr)
File
"/data/users/daisy/cimtest/suites/libvirt-cim/lib/XenKvmLib/indication_tester.py",
line 330, in __do_cimpost
(resp.status, resp.reason))
Exception: Request Failed: 200
ERROR - None
--------------------------------------------------------------------
ElementAllocatedFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 03_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementAllocatedFromPool - 04_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 01_forward.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ElementCapabilities - 05_hostsystem_cap.py: PASS
--------------------------------------------------------------------
ElementConforms - 01_forward.py: PASS
--------------------------------------------------------------------
ElementConforms - 02_reverse.py: PASS
--------------------------------------------------------------------
ElementConforms - 03_ectp_fwd_errs.py: PASS
--------------------------------------------------------------------
ElementConforms - 04_ectp_rev_errs.py: PASS
--------------------------------------------------------------------
ElementSettingData - 01_forward.py: PASS
--------------------------------------------------------------------
ElementSettingData - 03_esd_assoc_with_rasd_errs.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 01_enum.py: PASS
--------------------------------------------------------------------
HostSystem - 02_hostsystem_to_rasd.py: PASS
--------------------------------------------------------------------
HostSystem - 03_hs_to_settdefcap.py: PASS
--------------------------------------------------------------------
HostSystem - 04_hs_to_EAPF.py: PASS
--------------------------------------------------------------------
HostSystem - 05_hs_gi_errs.py: PASS
--------------------------------------------------------------------
HostSystem - 06_hs_to_vsms.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 01_forward.py: PASS
--------------------------------------------------------------------
HostedAccessPoint - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 01_forward.py: PASS
--------------------------------------------------------------------
HostedDependency - 02_reverse.py: PASS
--------------------------------------------------------------------
HostedDependency - 03_enabledstate.py: PASS
--------------------------------------------------------------------
HostedDependency - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
KVMRedirectionSAP - 01_enum_KVMredSAP.py: PASS
--------------------------------------------------------------------
LogicalDisk - 01_disk.py: PASS
--------------------------------------------------------------------
LogicalDisk - 02_nodevs.py: PASS
--------------------------------------------------------------------
LogicalDisk - 03_ld_gi_errs.py: PASS
--------------------------------------------------------------------
Memory - 01_memory.py: PASS
--------------------------------------------------------------------
Memory - 02_defgetmem.py: PASS
--------------------------------------------------------------------
Memory - 03_mem_gi_errs.py: PASS
--------------------------------------------------------------------
NetworkPort - 01_netport.py: PASS
--------------------------------------------------------------------
NetworkPort - 02_np_gi_errors.py: PASS
--------------------------------------------------------------------
NetworkPort - 03_user_netport.py: PASS
--------------------------------------------------------------------
Processor - 01_processor.py: PASS
--------------------------------------------------------------------
Processor - 02_definesys_get_procs.py: PASS
--------------------------------------------------------------------
Processor - 03_proc_gi_errs.py: PASS
--------------------------------------------------------------------
Profile - 01_enum.py: PASS
--------------------------------------------------------------------
Profile - 02_profile_to_elec.py: PASS
--------------------------------------------------------------------
Profile - 03_rprofile_gi_errs.py: PASS
--------------------------------------------------------------------
RASD - 01_verify_rasd_fields.py: PASS
--------------------------------------------------------------------
RASD - 02_enum.py: PASS
--------------------------------------------------------------------
RASD - 03_rasd_errs.py: PASS
--------------------------------------------------------------------
RASD - 04_disk_rasd_size.py: PASS
--------------------------------------------------------------------
RASD - 05_disk_rasd_emu_type.py: PASS
--------------------------------------------------------------------
RedirectionService - 01_enum_crs.py: PASS
--------------------------------------------------------------------
RedirectionService - 02_enum_crscap.py: PASS
--------------------------------------------------------------------
RedirectionService - 03_RedirectionSAP_errs.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 01_verify_refprof.py: PASS
--------------------------------------------------------------------
ReferencedProfile - 02_refprofile_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 01_forward.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 02_reverse.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 03_forward_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 04_reverse_errs.py: PASS
--------------------------------------------------------------------
ResourceAllocationFromPool - 05_RAPF_err.py: PASS
--------------------------------------------------------------------
ResourcePool - 01_enum.py: PASS
--------------------------------------------------------------------
ResourcePool - 02_rp_gi_errors.py: PASS
--------------------------------------------------------------------
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: FAIL
ERROR - Unexpected rc code 4 and description One or more
parameter values passed to the method were invalid
InvokeMethod(CreateChildResourcePool): One or more parameter values passed
to the method were invalid
--------------------------------------------------------------------
ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py:
PASS
--------------------------------------------------------------------
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 01_forward.py: PASS
--------------------------------------------------------------------
ServiceAccessBySAP - 02_reverse.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: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 01_definesystem_name.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 02_destroysystem.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 03_definesystem_ess.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 04_definesystem_ers.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 05_destroysystem_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 06_addresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 07_addresource_neg.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 08_modifyresource.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 09_procrasd_persist.py: XFAIL
--------------------------------------------------------------------
VirtualSystemManagementService - 10_hv_version.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 11_define_memrasdunits.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 12_referenced_config.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 13_refconfig_additional_devs.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 14_define_sys_disk.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 15_mod_system_settings.py: PASS
--------------------------------------------------------------------
VirtualSystemManagementService - 16_removeresource.py: XFAIL
ERROR - 0 RASD insts for domain/mouse:ps2
No such instance (no device domain/mouse:ps2)
Bug:<00014>
--------------------------------------------------------------------
VirtualSystemManagementService - 17_removeresource_neg.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
VirtualSystemMigrationService - 06_remote_live_migration.py: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 01_enum.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemSettingDataComponent - 01_forward.py: PASS
--------------------------------------------------------------------
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
--------------------------------------------------------------------
1
0

[PATCH] [TEST] Remove default emulator in VSSD, also fix path of default in const.py
by Kaitlin Rupert 30 Mar '09
by Kaitlin Rupert 30 Mar '09
30 Mar '09
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1238367843 25200
# Node ID 444cee668a76b0ef7fa1b5da94ae3763522834f2
# Parent 9e3054481df49d4045498d50188a62acddffab15
[TEST] Remove default emulator in VSSD, also fix path of default in const.py
libvirt will determine the proper emulator to use based on the capabilities
of the system. No need to define a default. If a different emulator is needed
(i.e. because qemu / kvm is installed in a non-standard location), the test
case can specify an emulator using the Emulator attribute of the VSSD.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r 9e3054481df4 -r 444cee668a76 suites/libvirt-cim/lib/XenKvmLib/const.py
--- a/suites/libvirt-cim/lib/XenKvmLib/const.py Tue Mar 24 19:15:48 2009 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/const.py Sun Mar 29 16:04:03 2009 -0700
@@ -22,7 +22,6 @@
import platform
import traceback
from optparse import OptionParser
-from VirtLib.live import fv_cap
from CimTest.Globals import CIM_IP
from pywbem import WBEMConnection
from XenKvmLib.classes import get_typed_class
@@ -82,12 +81,7 @@
Xen_default_mac = '11:22:33:aa:bb:cc'
# vxml.KVMXML
-KVM_default_emulator = '/usr/local/bin/qemu-system-x86_64'
-if not os.path.exists(KVM_default_emulator):
- if fv_cap(CIM_IP):
- KVM_default_emulator = '/usr/bin/qemu-kvm'
- else:
- KVM_default_emulator = '/usr/bin/qemu'
+KVM_default_emulator = '/usr/bin/qemu-system-x86_64'
KVM_disk_path = os.path.join(_image_dir, 'default-kvm-dimage')
KVM_secondary_disk_path = os.path.join(_image_dir, 'default-kvm-dimage.2ND')
KVM_default_disk_dev = 'hda'
diff -r 9e3054481df4 -r 444cee668a76 suites/libvirt-cim/lib/XenKvmLib/vsms.py
--- a/suites/libvirt-cim/lib/XenKvmLib/vsms.py Tue Mar 24 19:15:48 2009 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/vsms.py Sun Mar 29 16:04:03 2009 -0700
@@ -89,7 +89,7 @@
# classes to define VSSD parameters
class CIM_VirtualSystemSettingData(CIMClassMOF):
- def __init__(self, name, virt, bldr=None):
+ def __init__(self, name, virt, bldr=None, emulator=None):
type = get_class_type(self.__class__.__name__)
self.InstanceID = '%s:%s' % (type, name)
self.Caption = self.Description = 'Virtual System'
@@ -98,10 +98,9 @@
self.CreationClassName = self.__class__.__name__
self.AutomaticShutdownAction = VSSD_RECOVERY_NONE
self.AutomaticRecoveryAction = VSSD_RECOVERY_NONE
- if virt == 'KVM' :
- self.Emulator = const.KVM_default_emulator
- elif virt == 'XenFV' :
- self.Emulator = const.XenFV_default_emulator
+
+ if emulator is not None:
+ self.Emulator = emulator
self.isFullVirt = (type == 'KVM' or virt == 'XenFV')
if self.isFullVirt:
2
1

[PATCH] [TEST] Add SLES 11 specific changeset and branch tests accordingly
by Kaitlin Rupert 30 Mar '09
by Kaitlin Rupert 30 Mar '09
30 Mar '09
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1229638233 28800
# Node ID f0b8eb632baa3a40721364a090ec3d40e4d68f6f
# Parent ba88e8c112586b1578976e69c33cde6e4ecd91c3
[TEST] Add SLES 11 specific changeset and branch tests accordingly
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r ba88e8c11258 -r f0b8eb632baa suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py
--- a/suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py Fri Mar 27 16:44:59 2009 -0700
+++ b/suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py Thu Dec 18 14:10:33 2008 -0800
@@ -27,7 +27,8 @@
import sys
from XenKvmLib.enumclass import EnumInstances
-from XenKvmLib.const import do_main, platform_sup, get_provider_version
+from XenKvmLib.const import do_main, platform_sup, get_provider_version, \
+ sles11_changeset
from CimTest.Globals import logger, CIM_ERROR_ENUMERATE
from CimTest.ReturnCodes import PASS, FAIL
from XenKvmLib.common_util import cleanup_restore
@@ -42,8 +43,8 @@
get_typed_class(virt, 'DiskPool'),
get_typed_class(virt, 'NetworkPool')]
- curr_cim_rev, changeset = get_provider_version(virt, ip)
- if curr_cim_rev >= input_graphics_pool_rev:
+ curr_rev, changeset = get_provider_version(virt, ip)
+ if curr_rev >= input_graphics_pool_rev and changeset != sles11_changeset:
pt.append(get_typed_class(virt, 'GraphicsPool'))
pt.append(get_typed_class(virt, 'InputPool'))
diff -r ba88e8c11258 -r f0b8eb632baa suites/libvirt-cim/cimtest/ElementConforms/01_forward.py
--- a/suites/libvirt-cim/cimtest/ElementConforms/01_forward.py Fri Mar 27 16:44:59 2009 -0700
+++ b/suites/libvirt-cim/cimtest/ElementConforms/01_forward.py Thu Dec 18 14:10:33 2008 -0800
@@ -44,7 +44,7 @@
from CimTest import Globals
from XenKvmLib.common_util import get_host_info
from CimTest.Globals import logger, CIM_ERROR_ENUMERATE
-from XenKvmLib.const import do_main, get_provider_version
+from XenKvmLib.const import do_main, get_provider_version, sles11_changeset
from CimTest.ReturnCodes import PASS, FAIL
from XenKvmLib.enumclass import EnumInstances
@@ -61,12 +61,17 @@
cn_names = ["ComputerSystem"]
- curr_cim_rev, changeset = get_provider_version(virt, server)
- if curr_cim_rev >= libvirt_cim_ectp_changes:
+ curr_rev, changeset = get_provider_version(virt, server)
+ if curr_rev >= libvirt_cim_ectp_changes:
cn_names2 = ["VirtualSystemMigrationService", "DiskPool", "NetworkPool",
"ProcessorPool", "MemoryPool", "AllocationCapabilities"]
cn_names.extend(cn_names2)
- if curr_cim_rev >= libvirt_cim_input_graphics_ectp:
+
+ if changeset == sles11_changeset:
+ cn_names2 = ["DiskPool", "NetworkPool", "ProcessorPool"]
+ cn_names.extend(cn_names2)
+
+ if curr_rev >= libvirt_cim_input_graphics_ectp:
cn_names.append("ConsoleRedirectionService")
status, host_inst = get_host_info(server, virt)
diff -r ba88e8c11258 -r f0b8eb632baa suites/libvirt-cim/cimtest/LogicalDisk/03_ld_gi_errs.py
--- a/suites/libvirt-cim/cimtest/LogicalDisk/03_ld_gi_errs.py Fri Mar 27 16:44:59 2009 -0700
+++ b/suites/libvirt-cim/cimtest/LogicalDisk/03_ld_gi_errs.py Thu Dec 18 14:10:33 2008 -0800
@@ -48,7 +48,7 @@
from XenKvmLib.enumclass import GetInstance, CIM_CimtestClass, EnumInstances
from XenKvmLib.classes import get_typed_class
from XenKvmLib.vxml import get_class
-from XenKvmLib.const import do_main, get_provider_version
+from XenKvmLib.const import do_main, get_provider_version, sles11_changeset
sup_types = ['Xen', 'KVM', 'XenFV']
@@ -105,7 +105,7 @@
return status
rev, changeset = get_provider_version(options.virt, options.ip)
- if rev < err_msg_changeset:
+ if rev < err_msg_changeset and changeset != sles11_changeset:
old_ret = { 'rc' : CIM_ERR_NOT_FOUND,
'desc' : "No such instance (invalid_devid)"
}
diff -r ba88e8c11258 -r f0b8eb632baa suites/libvirt-cim/cimtest/NetworkPort/01_netport.py
--- a/suites/libvirt-cim/cimtest/NetworkPort/01_netport.py Fri Mar 27 16:44:59 2009 -0700
+++ b/suites/libvirt-cim/cimtest/NetworkPort/01_netport.py Thu Dec 18 14:10:33 2008 -0800
@@ -37,9 +37,8 @@
from XenKvmLib.classes import get_typed_class
from XenKvmLib.vxml import XenXML, KVMXML, get_class
from CimTest.Globals import logger
-from XenKvmLib.const import do_main
+from XenKvmLib.const import do_main, get_provider_version, sles11_changeset
from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC
-from XenKvmLib.const import get_provider_version
sup_types = ['Xen', 'KVM', 'XenFV']
@@ -53,7 +52,7 @@
# The value of LinkTechnology should be set to 0 for rev > 599
# else, it should be set to 2
- if net_rev > rev:
+ if net_rev > rev and changeset != sles11_changeset:
return 0
else:
return 2
diff -r ba88e8c11258 -r f0b8eb632baa suites/libvirt-cim/cimtest/Processor/03_proc_gi_errs.py
--- a/suites/libvirt-cim/cimtest/Processor/03_proc_gi_errs.py Fri Mar 27 16:44:59 2009 -0700
+++ b/suites/libvirt-cim/cimtest/Processor/03_proc_gi_errs.py Thu Dec 18 14:10:33 2008 -0800
@@ -54,7 +54,7 @@
from XenKvmLib.classes import get_typed_class
from XenKvmLib.vxml import get_class
from XenKvmLib.test_doms import destroy_and_undefine_all
-from XenKvmLib.const import do_main, get_provider_version
+from XenKvmLib.const import do_main, get_provider_version, sles11_changeset
from XenKvmLib.enumclass import GetInstance, CIM_CimtestClass, EnumInstances
sup_types = ['Xen', 'KVM', 'XenFV']
@@ -109,7 +109,7 @@
return FAIL
rev, changeset = get_provider_version(options.virt, options.ip)
- if rev < err_msg_changeset:
+ if rev < err_msg_changeset and changeset != sles11_changeset:
old_ret = { 'rc' : CIM_ERR_NOT_FOUND,
'desc' : "No such instance (invalid_devid)"
}
diff -r ba88e8c11258 -r f0b8eb632baa suites/libvirt-cim/cimtest/SettingsDefine/03_sds_fwd_errs.py
--- a/suites/libvirt-cim/cimtest/SettingsDefine/03_sds_fwd_errs.py Fri Mar 27 16:44:59 2009 -0700
+++ b/suites/libvirt-cim/cimtest/SettingsDefine/03_sds_fwd_errs.py Thu Dec 18 14:10:33 2008 -0800
@@ -151,7 +151,7 @@
from XenKvmLib.classes import get_typed_class
from CimTest.ReturnCodes import PASS, FAIL
from CimTest.Globals import logger, CIM_USER, CIM_PASS, CIM_NS
-from XenKvmLib.const import do_main, get_provider_version
+from XenKvmLib.const import do_main, get_provider_version, sles11_changeset
sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
@@ -252,7 +252,7 @@
]
rev, changeset = get_provider_version(options.virt, options.ip)
- if rev < 682:
+ if rev < 682 and changeset != sles11_changeset:
old_ret = { 'rc' : pywbem.CIM_ERR_NOT_FOUND,
'desc' : "No such instance (INVALID_DevID_Keyval)"
}
diff -r ba88e8c11258 -r f0b8eb632baa suites/libvirt-cim/lib/XenKvmLib/const.py
--- a/suites/libvirt-cim/lib/XenKvmLib/const.py Fri Mar 27 16:44:59 2009 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/const.py Thu Dec 18 14:10:33 2008 -0800
@@ -23,14 +23,16 @@
import traceback
from optparse import OptionParser
from VirtLib.live import fv_cap
+from VirtLib.utils import run_remote
from CimTest.Globals import CIM_IP
from pywbem import WBEMConnection
from XenKvmLib.classes import get_typed_class
platform_sup = ["Xen", "KVM", "XenFV"]
-#RPM changeset values
+#Distro changeset values
f9_changeset="1fcf330fadf8+"
+sles11_changeset="SLES_11"
VIRSH_ERROR_DEFINE = "Failed to define a domain with the name %s from virsh"
@@ -152,6 +154,11 @@
def get_provider_version(virt, ip):
+ cmd = "cat /etc/issue | grep 'SUSE Linux Enterprise Server 11'"
+ rc, out = run_remote(ip, cmd)
+ if rc == 0:
+ return 0, sles11_changeset
+
conn = WBEMConnection('http://%s' % ip,
(os.getenv('CIM_USER'), os.getenv('CIM_PASS')),
os.getenv('CIM_NS'))
2
1

[PATCH] (#4) Changed the output of AllocationCapability association when using DiskPool as input
by Richard Maciel 27 Mar '09
by Richard Maciel 27 Mar '09
27 Mar '09
# HG changeset patch
# User Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
# Date 1236119796 10800
# Node ID 6277cea336817d6a8885d0caeb2e7a0a92705150
# Parent 9010a4ffa133439c3e66a64552840e2a76ef9ad9
(#4) Changed the output of AllocationCapability association when using DiskPool as input
This patch fix the results of a 'association instances' query when passing a disk pool AllocationCapabilities reference as input. Before this patch, this query returned RASD templates for the disk pools, but now it returns the RASD templates for each of the volumes which composes the disk pool passed as input.
4:
- Joined both set_disk_props functions in only one (using #if to separate versions). This removed duplicated code.
- Fixed memory leak points
3:
- Kept code for versions which doesn't support disk pools
2:
- Changed code style based on feedback
- When emulation_type = 1 (cdrom device), the VirtualQuantity property of the template is not set
- Changed ID of cdrom device
- LXC is handled in a special way, because it doesn't have volumes
To test:
- Create a domain containing a diskpool and some volumes
- Execute query: wbemcli ein 'http://localhost:5988/root/virt:CIM_AllocationCapabilities'
- Select the reference to a diskpool and use in an association query like the one below:
wbemcli ai -nl -ac KVM_SettingsDefineCapabilities 'http://@localhost:5988/root/virt:KVM_AllocationCapabilities.InstanceID="DiskPool/default"'
- There must be four templates for each volume in the diskpool (MINIMUM, MAXIMUM, DEFAULT, INCREMENT) and their address must correspond to the address of the volume
Signed-off-by: Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
diff -r 9010a4ffa133 -r 6277cea33681 src/Virt_SettingsDefineCapabilities.c
--- a/src/Virt_SettingsDefineCapabilities.c Tue Mar 17 15:18:27 2009 -0700
+++ b/src/Virt_SettingsDefineCapabilities.c Tue Mar 03 19:36:36 2009 -0300
@@ -4,6 +4,7 @@
* Authors:
* Dan Smith <danms(a)us.ibm.com>
* Jay Gagnon <grendel(a)linux.vnet.ibm.com>
+ * Richard Maciel <richardm(a)linux.vnet.ibm.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -50,6 +51,16 @@
#include "Virt_AllocationCapabilities.h"
#include "Virt_Device.h"
+/*
+ * Right now, detect support and use it, if available.
+ * Later, this can be a configure option if needed
+ */
+#if LIBVIR_VERSION_NUMBER > 4000
+# define VIR_USE_LIBVIRT_STORAGE 1
+#else
+# define VIR_USE_LIBVIRT_STORAGE 0
+#endif
+
const static CMPIBroker *_BROKER;
/* These are used in more than one place so they are defined here. */
@@ -561,7 +572,385 @@
out:
return s;
}
+
+static CMPIStatus set_disk_props(int type,
+ const CMPIObjectPath *ref,
+ const char *id,
+ const char *disk_path,
+ uint64_t disk_size,
+ uint16_t emu_type,
+ struct inst_list *list)
+{
+ const char *dev;
+ CMPIInstance *inst;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+
+ if (type == DOMAIN_LXC) {
+ dev = "/lxc_mnt/tmp";
+ }
+ else {
+ dev = "hda";
+ }
+
+ inst = sdc_rasd_inst(&s, ref, CIM_RES_TYPE_DISK);
+ if ((inst == NULL) || (s.rc != CMPI_RC_OK))
+ goto out;
+
+ CMSetProperty(inst, "InstanceID", (CMPIValue *)id, CMPI_chars);
+ CMSetProperty(inst, "AllocationQuantity",
+ (CMPIValue *)"MegaBytes", CMPI_chars);
+ CMSetProperty(inst, "Address", (CMPIValue *)disk_path, CMPI_chars);
+
+#if !VIR_USE_LIBVIRT_STORAGE
+ CMSetProperty(inst, "VirtualQuantity",
+ (CMPIValue *)&disk_size, CMPI_uint64);
+#endif
+
+ if (type == DOMAIN_LXC)
+ CMSetProperty(inst, "MountPoint", (CMPIValue *)dev, CMPI_chars);
+ else {
+#if VIR_USE_LIBVIRT_STORAGE
+ if (emu_type == 0)
+ CMSetProperty(inst, "VirtualQuantity",
+ (CMPIValue *)&disk_size, CMPI_uint64);
+#endif
+
+ if (type == DOMAIN_XENPV) {
+ dev = "xvda";
+ CMSetProperty(inst, "Caption",
+ (CMPIValue *)"PV disk", CMPI_chars);
+ } else if (type == DOMAIN_XENFV) {
+ CMSetProperty(inst, "Caption",
+ (CMPIValue *)"FV disk", CMPI_chars);
+ }
+
+ CMSetProperty(inst, "VirtualDevice",
+ (CMPIValue *)dev, CMPI_chars);
+ CMSetProperty(inst, "EmulatedType",
+ (CMPIValue *)&emu_type, CMPI_uint16);
+ }
+
+ inst_list_add(list, inst);
+
+ out:
+ return s;
+}
+
+#if VIR_USE_LIBVIRT_STORAGE
+static CMPIStatus cdrom_template(const CMPIObjectPath *ref,
+ int template_type,
+ struct inst_list *list)
+{
+ char *pfx = NULL;
+ const char *id;
+ const char *vol_path = "/dev/null";
+ uint64_t vol_size = 0;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ uint16_t emu_type = 1;
+
+ switch(template_type) {
+ case SDC_RASD_MIN:
+ id = "Minimum CDROM";
+ break;
+ case SDC_RASD_MAX:
+ id = "Maximum CDROM";
+ break;
+ case SDC_RASD_INC:
+ id = "Increment CDROM";
+ break;
+ case SDC_RASD_DEF:
+ id = "Default CDROM";
+ break;
+ default:
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported sdc_rasd type");
+ goto out;
+ }
+
+ pfx = class_prefix_name(CLASSNAME(ref));
+ if (STREQ(pfx, "Xen")) {
+ int xen_type[2] = {DOMAIN_XENFV, DOMAIN_XENPV};
+ int i = 0;
+ for (; i < 2; i++) {
+ s = set_disk_props(xen_type[i],
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+ }
+ } else if (STREQ(pfx, "KVM")) {
+ s = set_disk_props(DOMAIN_KVM,
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+
+ } else if (!STREQ(pfx, "LXC")){
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported virtualization type");
+ }
+
+ out:
+ free(pfx);
+
+ return s;
+}
+
+static CMPIStatus volume_template(const CMPIObjectPath *ref,
+ int template_type,
+ virStorageVolPtr volume_ptr,
+ struct inst_list *list)
+{
+ char *pfx = NULL;
+ const char *id;
+ char *vol_path = NULL;
+ uint64_t vol_size;
+ virStorageVolInfo vol_info;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ int ret;
+ uint16_t emu_type = 0;
+
+ ret = virStorageVolGetInfo(volume_ptr, &vol_info);
+ if (ret == -1) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ virStorageVolGetConnect(volume_ptr),
+ "Unable to get volume information");
+ goto out;
+ }
+
+ switch(template_type) {
+ case SDC_RASD_MIN:
+ if (SDC_DISK_MIN > (uint64_t)vol_info.capacity)
+ vol_size = (uint64_t)vol_info.capacity;
+ else
+ vol_size = SDC_DISK_MIN;
+ id = "Minimum";
+ break;
+ case SDC_RASD_MAX:
+ vol_size = (uint64_t)vol_info.capacity;
+ id = "Maximum";
+ break;
+ case SDC_RASD_INC:
+ vol_size = SDC_DISK_INC;
+ id = "Increment";
+ break;
+ case SDC_RASD_DEF:
+ vol_size = (uint64_t)vol_info.allocation;
+ id = "Default";
+ break;
+ default:
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported sdc_rasd type");
+ goto out;
+ }
+
+ vol_path = virStorageVolGetPath(volume_ptr);
+ if (vol_path == NULL) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ virStorageVolGetConnect(volume_ptr),
+ "Unable to get volume path");
+ goto out;
+ }
+
+ pfx = class_prefix_name(CLASSNAME(ref));
+
+ if (STREQ(pfx, "Xen")) {
+ int xen_type[2] = {DOMAIN_XENFV, DOMAIN_XENPV};
+ int i = 0;
+
+ for (; i < 2; i++) {
+ s = set_disk_props(xen_type[i],
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+ }
+ } else if (STREQ(pfx, "KVM")) {
+ s = set_disk_props(DOMAIN_KVM,
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+ } else {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported virtualization type");
+ }
+
+ out:
+ free(pfx);
+ free(vol_path);
+
+ return s;
+}
+
+static CMPIStatus lxc_template(const CMPIObjectPath *ref,
+ int template_type,
+ struct inst_list *list)
+{
+ uint64_t vol_size = 0;
+ int emu_type = 0;
+ const char *vol_path = "/tmp";
+ const char *id;
+
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+
+ switch(template_type) {
+ case SDC_RASD_MIN:
+ id = "Minimum";
+ break;
+ case SDC_RASD_MAX:
+ id = "Maximum";
+ break;
+ case SDC_RASD_INC:
+ id = "Increment";
+ break;
+ case SDC_RASD_DEF:
+ id = "Default";
+ break;
+ default:
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported sdc_rasd type");
+ goto out;
+ }
+
+ s = set_disk_props(DOMAIN_LXC,
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+
+ out:
+ return s;
+
+}
+
+static CMPIStatus disk_template(const CMPIObjectPath *ref,
+ int template_type,
+ struct inst_list *list)
+{
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ virConnectPtr conn = NULL;
+ virStoragePoolPtr poolptr = NULL;
+ virStorageVolPtr volptr = NULL;
+ const char *instid = NULL;
+ char *host = NULL;
+ const char *poolname = NULL;
+ char **volnames = NULL;
+ int numvols = 0;
+ int numvolsret = 0;
+ int i;
+ char *pfx = NULL;
+
+ pfx = class_prefix_name(CLASSNAME(ref));
+ if (STREQ(pfx, "LXC")) {
+ s = lxc_template(ref, template_type, list);
+ goto out;
+ }
+
+ conn = connect_by_classname(_BROKER, CLASSNAME(ref), &s);
+
+ if (cu_get_str_path(ref, "InstanceID", &instid) != CMPI_RC_OK) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to get InstanceID for disk device");
+ goto out;
+ }
+
+ if (parse_fq_devid(instid, &host, (char **)&poolname) != 1) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to get pool device id");
+ goto out;
+ }
+
+ if ((poolptr = virStoragePoolLookupByName(conn, poolname)) == NULL) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ conn,
+ "Storage pool `%s' not found",
+ poolname);
+ goto out;
+ }
+
+ if ((numvols = virStoragePoolNumOfVolumes(poolptr)) == -1) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ conn,
+ "Unable to get the number of volumes \
+ of storage pool `%s'",
+ poolname);
+ goto out;
+ }
+
+ volnames = (char **)malloc(sizeof(char *) * numvols);
+ if (volnames == NULL) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Could not allocate space for list of volumes \
+ of storage pool `%s'",
+ poolname);
+ goto out;
+ }
+
+ numvolsret = virStoragePoolListVolumes(poolptr, volnames, numvols);
+
+ if (numvolsret == -1) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ conn,
+ "Unable to get a pointer to volumes \
+ of storage pool `%s'",
+ poolname);
+ goto out;
+ }
+
+ for (i = 0; i < numvolsret; i++) {
+ volptr = virStorageVolLookupByName(poolptr, volnames[i]);
+ if (volptr == NULL) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ conn,
+ "Storage Volume `%s' not found",
+ volnames[i]);
+ goto out;
+ }
+
+ s = volume_template(ref, template_type, volptr, list);
+ if (s.rc != CMPI_RC_OK)
+ goto out;
+ }
+
+ s = cdrom_template(ref, template_type, list);
+
+ out:
+ free(pfx);
+ free(volnames);
+ free(host);
+ virStorageVolFree(volptr);
+ virStoragePoolFree(poolptr);
+ virConnectClose(conn);
+
+ return s;
+}
+#else
static int get_disk_freespace(const CMPIObjectPath *ref,
CMPIStatus *s,
uint64_t *free_space)
@@ -608,62 +997,6 @@
return ret;
}
-static CMPIStatus set_disk_props(int type,
- const CMPIObjectPath *ref,
- const char *id,
- uint64_t disk_size,
- uint16_t emu_type,
- struct inst_list *list)
-{
- const char *addr;
- const char *dev;
- CMPIInstance *inst;
- CMPIStatus s = {CMPI_RC_OK, NULL};
-
- if (type == DOMAIN_LXC) {
- addr = "/tmp";
- dev = "/lxc_mnt/tmp";
- }
- else {
- dev = "hda";
- addr = "/dev/null";
- }
-
- inst = sdc_rasd_inst(&s, ref, CIM_RES_TYPE_DISK);
- if ((inst == NULL) || (s.rc != CMPI_RC_OK))
- goto out;
-
- CMSetProperty(inst, "InstanceID", (CMPIValue *)id, CMPI_chars);
- CMSetProperty(inst, "AllocationQuantity",
- (CMPIValue *)"MegaBytes", CMPI_chars);
- CMSetProperty(inst, "VirtualQuantity",
- (CMPIValue *)&disk_size, CMPI_uint64);
- CMSetProperty(inst, "Address", (CMPIValue *)addr, CMPI_chars);
-
- if (type == DOMAIN_LXC)
- CMSetProperty(inst, "MountPoint", (CMPIValue *)dev, CMPI_chars);
- else {
- if (type == DOMAIN_XENPV) {
- dev = "xvda";
- CMSetProperty(inst, "Caption",
- (CMPIValue *)"PV disk", CMPI_chars);
- } else if (type == DOMAIN_XENFV) {
- CMSetProperty(inst, "Caption",
- (CMPIValue *)"FV disk", CMPI_chars);
- }
-
- CMSetProperty(inst, "VirtualDevice",
- (CMPIValue *)dev, CMPI_chars);
- CMSetProperty(inst, "EmulatedType",
- (CMPIValue *)&emu_type, CMPI_uint16);
- }
-
- inst_list_add(list, inst);
-
- out:
- return s;
-}
-
static CMPIStatus disk_template(const CMPIObjectPath *ref,
int template_type,
struct inst_list *list)
@@ -673,6 +1006,7 @@
const char *id;
uint64_t disk_size;
uint16_t emu_type = 0;
+ const char *addr = "/dev/null";
CMPIStatus s = {CMPI_RC_OK, NULL};
switch(template_type) {
@@ -702,7 +1036,6 @@
}
pfx = class_prefix_name(CLASSNAME(ref));
-
if (STREQ(pfx, "Xen")) {
int xen_type[2] = {DOMAIN_XENFV, DOMAIN_XENPV};
int i = 0;
@@ -712,6 +1045,7 @@
s = set_disk_props(xen_type[i],
ref,
id,
+ addr,
disk_size,
emu_type,
list);
@@ -721,7 +1055,8 @@
emu_type = 1;
s = set_disk_props(xen_type[i],
ref,
- id,
+ id,
+ addr,
disk_size,
emu_type,
list);
@@ -731,7 +1066,8 @@
} else if (STREQ(pfx, "KVM")) {
s = set_disk_props(DOMAIN_KVM,
ref,
- id,
+ id,
+ addr,
disk_size,
emu_type,
list);
@@ -742,13 +1078,16 @@
s = set_disk_props(DOMAIN_KVM,
ref,
id,
+ addr,
disk_size,
emu_type,
list);
} else if (STREQ(pfx, "LXC")) {
+ addr = "/tmp";
s = set_disk_props(DOMAIN_LXC,
ref,
id,
+ addr,
disk_size,
emu_type,
list);
@@ -761,6 +1100,7 @@
out:
return s;
}
+#endif
static CMPIStatus graphics_template(const CMPIObjectPath *ref,
int template_type,
2
1

[PATCH] (#3) Changed the output of AllocationCapability association when using DiskPool as input
by Richard Maciel 26 Mar '09
by Richard Maciel 26 Mar '09
26 Mar '09
# HG changeset patch
# User Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
# Date 1236119796 10800
# Node ID 3b757b1d572ed9a6bc84a767140ae48c047027b0
# Parent 9010a4ffa133439c3e66a64552840e2a76ef9ad9
(#3) Changed the output of AllocationCapability association when using DiskPool as input
This patch fix the results of a 'association instances' query when passing a disk pool AllocationCapabilities reference as input. Before this patch, this query returned RASD templates for the disk pools, but now it returns the RASD templates for each of the volumes which composes the disk pool passed as input.
3:
- Kept code for versions which doesn't support disk pools
2:
- Changed code style based on feedback
- When emulation_type = 1 (cdrom device), the VirtualQuantity property of the template is not set
- Changed ID of cdrom device
- LXC is handled in a special way, because it doesn't have volumes
To test:
- Create a domain containing a diskpool and some volumes
- Execute query: wbemcli ein 'http://localhost:5988/root/virt:CIM_AllocationCapabilities'
- Select the reference to a diskpool and use in an association query like the one below:
wbemcli ai -nl -ac KVM_SettingsDefineCapabilities 'http://@localhost:5988/root/virt:KVM_AllocationCapabilities.InstanceID="DiskPool/default"'
- There must be four templates for each volume in the diskpool (MINIMUM, MAXIMUM, DEFAULT, INCREMENT) and their address must correspond to the address of the volume
Signed-off-by: Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
diff -r 9010a4ffa133 -r 3b757b1d572e src/Virt_SettingsDefineCapabilities.c
--- a/src/Virt_SettingsDefineCapabilities.c Tue Mar 17 15:18:27 2009 -0700
+++ b/src/Virt_SettingsDefineCapabilities.c Tue Mar 03 19:36:36 2009 -0300
@@ -4,6 +4,7 @@
* Authors:
* Dan Smith <danms(a)us.ibm.com>
* Jay Gagnon <grendel(a)linux.vnet.ibm.com>
+ * Richard Maciel <richardm(a)linux.vnet.ibm.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -50,6 +51,16 @@
#include "Virt_AllocationCapabilities.h"
#include "Virt_Device.h"
+/*
+ * Right now, detect support and use it, if available.
+ * Later, this can be a configure option if needed
+ */
+#if LIBVIR_VERSION_NUMBER > 4000
+# define VIR_USE_LIBVIRT_STORAGE 1
+#else
+# define VIR_USE_LIBVIRT_STORAGE 0
+#endif
+
const static CMPIBroker *_BROKER;
/* These are used in more than one place so they are defined here. */
@@ -561,7 +572,376 @@
out:
return s;
}
+
+#if VIR_USE_LIBVIRT_STORAGE
+static CMPIStatus set_disk_props(int type,
+ const CMPIObjectPath *ref,
+ const char *id,
+ const char *disk_path,
+ uint64_t disk_size,
+ uint16_t emu_type,
+ struct inst_list *list)
+{
+ const char *dev;
+ CMPIInstance *inst;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+
+ if (type == DOMAIN_LXC) {
+ dev = "/lxc_mnt/tmp";
+ }
+ else {
+ dev = "hda";
+ }
+
+ inst = sdc_rasd_inst(&s, ref, CIM_RES_TYPE_DISK);
+ if ((inst == NULL) || (s.rc != CMPI_RC_OK))
+ goto out;
+
+ CMSetProperty(inst, "InstanceID", (CMPIValue *)id, CMPI_chars);
+ CMSetProperty(inst, "AllocationQuantity",
+ (CMPIValue *)"MegaBytes", CMPI_chars);
+ CMSetProperty(inst, "Address", (CMPIValue *)disk_path, CMPI_chars);
+
+ if (type == DOMAIN_LXC)
+ CMSetProperty(inst, "MountPoint", (CMPIValue *)dev, CMPI_chars);
+ else {
+ if (emu_type == 0)
+ CMSetProperty(inst, "VirtualQuantity",
+ (CMPIValue *)&disk_size, CMPI_uint64);
+
+ if (type == DOMAIN_XENPV) {
+ dev = "xvda";
+ CMSetProperty(inst, "Caption",
+ (CMPIValue *)"PV disk", CMPI_chars);
+ } else if (type == DOMAIN_XENFV) {
+ CMSetProperty(inst, "Caption",
+ (CMPIValue *)"FV disk", CMPI_chars);
+ }
+
+ CMSetProperty(inst, "VirtualDevice",
+ (CMPIValue *)dev, CMPI_chars);
+ CMSetProperty(inst, "EmulatedType",
+ (CMPIValue *)&emu_type, CMPI_uint16);
+ }
+
+ inst_list_add(list, inst);
+
+ out:
+ return s;
+}
+
+static CMPIStatus cdrom_template(const CMPIObjectPath *ref,
+ int template_type,
+ struct inst_list *list)
+{
+ char *pfx;
+ const char *id;
+ char *vol_path;
+ uint64_t vol_size = 0;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ uint16_t emu_type = 1;
+
+ switch(template_type) {
+ case SDC_RASD_MIN:
+ id = "Minimum CDROM";
+ break;
+ case SDC_RASD_MAX:
+ id = "Maximum CDROM";
+ break;
+ case SDC_RASD_INC:
+ id = "Increment CDROM";
+ break;
+ case SDC_RASD_DEF:
+ id = "Default CDROM";
+ break;
+ default:
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported sdc_rasd type");
+ goto out;
+ }
+
+ vol_path = "/dev/null";
+
+ pfx = class_prefix_name(CLASSNAME(ref));
+
+ if (STREQ(pfx, "Xen")) {
+ int xen_type[2] = {DOMAIN_XENFV, DOMAIN_XENPV};
+ int i = 0;
+ for (; i < 2; i++) {
+ s = set_disk_props(xen_type[i],
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+ }
+ } else if (STREQ(pfx, "KVM")) {
+ s = set_disk_props(DOMAIN_KVM,
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+
+ } else if (!STREQ(pfx, "LXC")){
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported virtualization type");
+ }
+
+ out:
+ return s;
+
+}
+
+
+static CMPIStatus volume_template(const CMPIObjectPath *ref,
+ int template_type,
+ virStorageVolPtr volume_ptr,
+ struct inst_list *list)
+{
+ char *pfx;
+ const char *id;
+ char *vol_path;
+ uint64_t vol_size;
+ virStorageVolInfo vol_info;
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ int ret;
+ uint16_t emu_type = 0;
+
+ ret = virStorageVolGetInfo(volume_ptr, &vol_info);
+ if (ret == -1) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ virStorageVolGetConnect(volume_ptr),
+ "Unable to get volume information");
+ goto out;
+ }
+
+ switch(template_type) {
+ case SDC_RASD_MIN:
+ if (SDC_DISK_MIN > (uint64_t)vol_info.capacity)
+ vol_size = (uint64_t)vol_info.capacity;
+ else
+ vol_size = SDC_DISK_MIN;
+ id = "Minimum";
+ break;
+ case SDC_RASD_MAX:
+ vol_size = (uint64_t)vol_info.capacity;
+ id = "Maximum";
+ break;
+ case SDC_RASD_INC:
+ vol_size = SDC_DISK_INC;
+ id = "Increment";
+ break;
+ case SDC_RASD_DEF:
+ vol_size = (uint64_t)vol_info.allocation;
+ id = "Default";
+ break;
+ default:
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported sdc_rasd type");
+ goto out;
+ }
+
+ vol_path = virStorageVolGetPath(volume_ptr);
+ if (vol_path == NULL) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ virStorageVolGetConnect(volume_ptr),
+ "Unable to get volume path");
+ goto out;
+ }
+
+ pfx = class_prefix_name(CLASSNAME(ref));
+
+ if (STREQ(pfx, "Xen")) {
+ int xen_type[2] = {DOMAIN_XENFV, DOMAIN_XENPV};
+ int i = 0;
+
+ for (; i < 2; i++) {
+ s = set_disk_props(xen_type[i],
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+ }
+ } else if (STREQ(pfx, "KVM")) {
+ s = set_disk_props(DOMAIN_KVM,
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+ } else {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported virtualization type");
+ }
+
+ out:
+ return s;
+}
+
+static CMPIStatus lxc_template(const CMPIObjectPath *ref,
+ int template_type,
+ struct inst_list *list)
+{
+ uint64_t vol_size = 0;
+ int emu_type = 0;
+ char *vol_path = "/tmp";
+ const char *id;
+
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+
+ switch(template_type) {
+ case SDC_RASD_MIN:
+ id = "Minimum";
+ break;
+ case SDC_RASD_MAX:
+ id = "Maximum";
+ break;
+ case SDC_RASD_INC:
+ id = "Increment";
+ break;
+ case SDC_RASD_DEF:
+ id = "Default";
+ break;
+ default:
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unsupported sdc_rasd type");
+ goto out;
+ }
+
+ s = set_disk_props(DOMAIN_LXC,
+ ref,
+ id,
+ vol_path,
+ vol_size,
+ emu_type,
+ list);
+
+ out:
+ return s;
+
+}
+
+static CMPIStatus disk_template(const CMPIObjectPath *ref,
+ int template_type,
+ struct inst_list *list)
+{
+ CMPIStatus s = {CMPI_RC_OK, NULL};
+ virConnectPtr conn = NULL;
+ virStoragePoolPtr poolptr = NULL;
+ virStorageVolPtr volptr = NULL;
+ const char *instid = NULL;
+ char *host = NULL;
+ const char *poolname = NULL;
+ char **volnames = NULL;
+ int numvols = 0;
+ int numvolsret = 0;
+ int i;
+ char *pfx = NULL;
+
+ pfx = class_prefix_name(CLASSNAME(ref));
+ if (STREQ(pfx, "LXC")) {
+ s = lxc_template(ref, template_type, list);
+ goto out;
+ }
+
+ conn = connect_by_classname(_BROKER, CLASSNAME(ref), &s);
+
+ if (cu_get_str_path(ref, "InstanceID", &instid) != CMPI_RC_OK) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to get InstanceID for disk device");
+ goto out;
+ }
+
+ if (parse_fq_devid(instid, &host, (char **)&poolname) != 1) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to get pool device id");
+ goto out;
+ }
+
+ if ((poolptr = virStoragePoolLookupByName(conn, poolname)) == NULL) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ conn,
+ "Storage pool `%s' not found",
+ poolname);
+ goto out;
+ }
+
+ if ((numvols = virStoragePoolNumOfVolumes(poolptr)) == -1) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ conn,
+ "Unable to get the number of volumes \
+ of storage pool `%s'",
+ poolname);
+ goto out;
+ }
+
+ volnames = (char **)malloc(sizeof(char *) * numvols);
+ if (volnames == NULL) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Could not allocate space for list of volumes \
+ of storage pool `%s'",
+ poolname);
+ goto out;
+ }
+
+ numvolsret = virStoragePoolListVolumes(poolptr, volnames, numvols);
+
+ if (numvolsret == -1) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ conn,
+ "Unable to get a pointer to volumes \
+ of storage pool `%s'",
+ poolname);
+ goto out;
+ }
+
+ for (i = 0; i < numvolsret; i++) {
+ volptr = virStorageVolLookupByName(poolptr, volnames[i]);
+ if (volptr == NULL) {
+ virt_set_status(_BROKER, &s,
+ CMPI_RC_ERR_NOT_FOUND,
+ conn,
+ "Storage Volume `%s' not found",
+ volnames[i]);
+ goto out;
+ }
+
+ s = volume_template(ref, template_type, volptr, list);
+ if (s.rc != CMPI_RC_OK)
+ goto out;
+ }
+
+ s = cdrom_template(ref, template_type, list);
+
+ out:
+ free(volnames);
+ virStorageVolFree(volptr);
+ virStoragePoolFree(poolptr);
+ virConnectClose(conn);
+
+ return s;
+}
+#else
static int get_disk_freespace(const CMPIObjectPath *ref,
CMPIStatus *s,
uint64_t *free_space)
@@ -761,6 +1141,7 @@
out:
return s;
}
+#endif
static CMPIStatus graphics_template(const CMPIObjectPath *ref,
int template_type,
2
1
This just adds basic support for network pool creation.
See individual patches for changes.
2
5
This just adds basic support for network pool creation.
See individual patches for changes.
3
7
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1237328307 25200
# Node ID 727ee79a93e91a79b01335733853fb2f9d0c4624
# Parent 434041f12428edfba01127b483ba56b3328e1d79
Setting SynchMethods of RPCC accordingly.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r 434041f12428 -r 727ee79a93e9 src/Virt_ResourcePoolConfigurationCapabilities.c
--- a/src/Virt_ResourcePoolConfigurationCapabilities.c Tue Mar 17 18:13:23 2009 -0700
+++ b/src/Virt_ResourcePoolConfigurationCapabilities.c Tue Mar 17 15:18:27 2009 -0700
@@ -54,6 +54,8 @@
CMPIStatus s = {CMPI_RC_OK, NULL};
CMPIInstance *inst = NULL;
virConnectPtr conn = NULL;
+ CMPIArray *array;
+ uint32_t val;
conn = connect_by_classname(_BROKER, CLASSNAME(reference), &s);
if (conn == NULL) {
@@ -76,7 +78,18 @@
CMSetProperty(inst, "InstanceID",
(CMPIValue *)"RPCC", CMPI_chars);
- /* No method currently supported */
+ array = CMNewArray(_BROKER, 2, CMPI_uint32, &s);
+ if (s.rc != CMPI_RC_OK)
+ return s;
+
+ val = CreateChildResourcePool;
+ CMSetArrayElementAt(array, 0, (CMPIValue *)&val, CMPI_uint32);
+
+ val = DeleteResourcePool;
+ CMSetArrayElementAt(array, 1, (CMPIValue *)&val, CMPI_uint32);
+
+ CMSetProperty(inst, "SynchronousMethodsSupported",
+ (CMPIValue *)&array, CMPI_uint32A);
if (is_get_inst) {
s = cu_validate_ref(_BROKER, reference, inst);
2
1