Test Run Summary (Apr 07 2009): KVM on Fedora release 10.90 (Rawhide) with Pegasus
by Deepti B Kalakeri
=================================================
Test Run Summary (Apr 07 2009): KVM on Fedora release 10.90 (Rawhide) with Pegasus
=================================================
Distro: Fedora release 10.90 (Rawhide)
Kernel: 2.6.29-0.24.rc0.git13.fc11.x86_64
libvirt: 0.6.1
Hypervisor: QEMU 0.10.0
CIMOM: Pegasus 2.7.2
Libvirt-cim revision: 842
Libvirt-cim changeset: 2f4943568299
Cimtest revision: 662
Cimtest changeset: a2c6bcec55c1
=================================================
FAIL : 9
XFAIL : 3
SKIP : 6
PASS : 132
-----------------
Total : 150
=================================================
FAIL Test Summary:
ElementAllocatedFromPool - 01_forward.py: FAIL
ElementAllocatedFromPool - 02_reverse.py: FAIL
HostSystem - 03_hs_to_settdefcap.py: FAIL
HostSystem - 04_hs_to_EAPF.py: FAIL
ResourceAllocationFromPool - 01_forward.py: FAIL
ResourceAllocationFromPool - 02_reverse.py: FAIL
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: FAIL
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: FAIL
SettingsDefineCapabilities - 01_forward.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 32_start_reboot.py: XFAIL
ComputerSystem - 33_suspend_reboot.py: XFAIL
VirtualSystemManagementService - 16_removeresource.py: XFAIL
=================================================
SKIP Test Summary:
ComputerSystem - 02_nosystems.py: SKIP
LogicalDisk - 02_nodevs.py: SKIP
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: SKIP
ERROR - System has defined domains; unable to run
--------------------------------------------------------------------
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: FAIL
ERROR - InstanceID Mismatch
ERROR - Returned DiskPool/meep-disk instead of DiskPool/cimtest-diskpool
--------------------------------------------------------------------
ElementAllocatedFromPool - 02_reverse.py: FAIL
ERROR - 'KVM_ElementAllocatedFromPool' with 'KVM_DiskPool' did not return any records for domain: 'eafp_domain'
--------------------------------------------------------------------
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: FAIL
ERROR - 'KVM_SettingsDefineCapabilities' returned 92 RASD objects instead of 8
CIM_ERR_INVALID_CLASS: Linux_ComputerSystem
--------------------------------------------------------------------
HostSystem - 04_hs_to_EAPF.py: FAIL
ERROR - DEBUG host_name is elm3b41
ERROR - KVM_ElementAllocatedFromPool returned 0 KVM_DiskPool objects
CIM_ERR_INVALID_CLASS: Linux_ComputerSystem
--------------------------------------------------------------------
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: 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: FAIL
ERROR - No RASD associated with DiskPool/cimtest-diskpool
--------------------------------------------------------------------
ResourceAllocationFromPool - 02_reverse.py: FAIL
ERROR - InstanceID Mismatch
ERROR - Got DiskPool/meep-disk instead of DiskPool/cimtest-diskpool
--------------------------------------------------------------------
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: FAIL
ERROR - Unexpected rc code 4 and description CIM_ERR_INVALID_PARAMETER
InvokeMethod(DeleteResourcePool): CIM_ERR_INVALID_PARAMETER
--------------------------------------------------------------------
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: FAIL
ERROR - KVM_SettingsDefineCapabilities returned 36 ResourcePool objects instead of 8
--------------------------------------------------------------------
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: 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:ps2
CIM_ERR_NOT_FOUND: 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: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 07_remote_offline_migration.py: PASS
--------------------------------------------------------------------
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
15 years, 8 months
Test Run Summary (Apr 07 2009): Xen on Red Hat Enterprise Linux Server release 5.3 (Tikanga) with Pegasus
by Deepti B Kalakeri
=================================================
Test Run Summary (Apr 07 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: 842
Libvirt-cim changeset: 2f4943568299
Cimtest revision:
Cimtest changeset:
=================================================
FAIL : 9
XFAIL : 2
SKIP : 3
PASS : 136
-----------------
Total : 150
=================================================
FAIL Test Summary:
ComputerSystem - 01_enum.py: FAIL
ElementCapabilities - 01_forward.py: FAIL
ElementCapabilities - 02_reverse.py: FAIL
EnabledLogicalElementCapabilities - 01_enum.py: FAIL
KVMRedirectionSAP - 01_enum_KVMredSAP.py: FAIL
ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: FAIL
ResourcePoolConfigurationService - 07_DeleteResourcePool.py: FAIL
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
VirtualSystemMigrationService - 02_host_migrate_type.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
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: PASS
--------------------------------------------------------------------
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 139, 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: FAIL
ERROR - Exception details: 'ElementName' Value Mismatch, Expected 5902:-1, Got 5902:0
ERROR - Exception: Failed to verify information for the defined dom:test_kvmredsap_dom
--------------------------------------------------------------------
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: FAIL
ERROR - Unexpected rc code 4 and description CIM_ERR_INVALID_PARAMETER
InvokeMethod(DeleteResourcePool): CIM_ERR_INVALID_PARAMETER
--------------------------------------------------------------------
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 verification for 'dom_migrate' failed
--------------------------------------------------------------------
VirtualSystemMigrationService - 05_migratable_host_errs.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 06_remote_live_migration.py: PASS
--------------------------------------------------------------------
VirtualSystemMigrationService - 07_remote_offline_migration.py: PASS
--------------------------------------------------------------------
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
15 years, 8 months
[PATCH] Add distinction between QEMU guests and hardware accelerated KVM guests
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1238533479 25200
# Node ID e5aee0f0edc128d41148ec4cedaba2bdd53cf05e
# Parent d08b52d4da57fc8bbe946f8b4f9ddccdccf9dee6
Add distinction between QEMU guests and hardware accelerated KVM guests
If the host system doesn't support KVM guests, then the providers should
create a QEMU guest. This code generates the proper XML for the given guest
type.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r d08b52d4da57 -r e5aee0f0edc1 libxkutil/device_parsing.c
--- a/libxkutil/device_parsing.c Fri Apr 03 09:38:52 2009 -0700
+++ b/libxkutil/device_parsing.c Tue Mar 31 14:04:39 2009 -0700
@@ -827,9 +827,10 @@
if ((STREQC(dominfo->os_info.fv.type, "hvm")) &&
(STREQC(dominfo->typestr, "xen")))
dominfo->type = DOMAIN_XENFV;
- else if ((STREQC(dominfo->typestr, "kvm")) ||
- (STREQC(dominfo->typestr, "qemu")))
+ else if (STREQC(dominfo->typestr, "kvm"))
dominfo->type = DOMAIN_KVM;
+ else if (STREQC(dominfo->typestr, "qemu"))
+ dominfo->type = DOMAIN_QEMU;
else if (STREQC(dominfo->typestr, "lxc"))
dominfo->type = DOMAIN_LXC;
else if (STREQC(dominfo->os_info.pv.type, "linux"))
@@ -994,7 +995,7 @@
free(dom->os_info.pv.initrd);
free(dom->os_info.pv.cmdline);
} else if ((dom->type == DOMAIN_XENFV) ||
- (dom->type == DOMAIN_KVM)) {
+ (dom->type == DOMAIN_KVM) || (dom->type == DOMAIN_QEMU)) {
free(dom->os_info.fv.type);
free(dom->os_info.fv.loader);
free(dom->os_info.fv.boot);
diff -r d08b52d4da57 -r e5aee0f0edc1 libxkutil/device_parsing.h
--- a/libxkutil/device_parsing.h Fri Apr 03 09:38:52 2009 -0700
+++ b/libxkutil/device_parsing.h Tue Mar 31 14:04:39 2009 -0700
@@ -107,7 +107,11 @@
};
struct domain {
- enum { DOMAIN_XENPV, DOMAIN_XENFV, DOMAIN_KVM, DOMAIN_LXC } type;
+ enum { DOMAIN_XENPV,
+ DOMAIN_XENFV,
+ DOMAIN_KVM,
+ DOMAIN_QEMU,
+ DOMAIN_LXC } type;
char *name;
char *typestr; /*xen, kvm, etc */
char *uuid;
diff -r d08b52d4da57 -r e5aee0f0edc1 libxkutil/xml_parse_test.c
--- a/libxkutil/xml_parse_test.c Fri Apr 03 09:38:52 2009 -0700
+++ b/libxkutil/xml_parse_test.c Tue Mar 31 14:04:39 2009 -0700
@@ -41,7 +41,7 @@
print_value(d, "Loader", dom->os_info.fv.loader);
print_value(d, "Boot", dom->os_info.fv.boot);
- } else if (dom->type == DOMAIN_KVM) {
+ } else if ((dom->type == DOMAIN_KVM) || (dom->type == DOMAIN_QEMU)) {
print_value(d, "Domain Type", "KVM/QEMU");
print_value(d, "Type", dom->os_info.fv.type);
print_value(d, "Loader", dom->os_info.fv.loader);
diff -r d08b52d4da57 -r e5aee0f0edc1 libxkutil/xmlgen.c
--- a/libxkutil/xmlgen.c Fri Apr 03 09:38:52 2009 -0700
+++ b/libxkutil/xmlgen.c Tue Mar 31 14:04:39 2009 -0700
@@ -545,7 +545,7 @@
return _xenpv_os_xml(os, domain);
else if (domain->type == DOMAIN_XENFV)
return _xenfv_os_xml(os, domain);
- else if (domain->type == DOMAIN_KVM)
+ else if ((domain->type == DOMAIN_KVM) || (domain->type == DOMAIN_QEMU))
return _kvm_os_xml(os, domain);
else if (domain->type == DOMAIN_LXC)
return _lxc_os_xml(os, domain);
@@ -694,6 +694,8 @@
domtype = "xen";
else if (dominfo->type == DOMAIN_KVM)
domtype = "kvm";
+ else if (dominfo->type == DOMAIN_QEMU)
+ domtype = "qemu";
else if (dominfo->type == DOMAIN_LXC)
domtype = "lxc";
else
diff -r d08b52d4da57 -r e5aee0f0edc1 src/Virt_VSSD.c
--- a/src/Virt_VSSD.c Fri Apr 03 09:38:52 2009 -0700
+++ b/src/Virt_VSSD.c Tue Mar 31 14:04:39 2009 -0700
@@ -144,7 +144,7 @@
if ((dominfo->type == DOMAIN_XENFV) ||
- (dominfo->type == DOMAIN_KVM))
+ (dominfo->type == DOMAIN_KVM) || (dominfo->type == DOMAIN_QEMU))
_set_fv_prop(dominfo, inst);
else if (dominfo->type == DOMAIN_XENPV)
_set_pv_prop(dominfo, inst);
diff -r d08b52d4da57 -r e5aee0f0edc1 src/Virt_VirtualSystemManagementService.c
--- a/src/Virt_VirtualSystemManagementService.c Fri Apr 03 09:38:52 2009 -0700
+++ b/src/Virt_VirtualSystemManagementService.c Tue Mar 31 14:04:39 2009 -0700
@@ -174,6 +174,29 @@
return true;
}
+static bool system_has_kvm(const char *pfx)
+{
+ CMPIStatus s;
+ virConnectPtr conn;
+ char *caps = NULL;
+ bool kvm = false;
+
+ conn = connect_by_classname(_BROKER, pfx, &s);
+ if ((conn == NULL) || (s.rc != CMPI_RC_OK)) {
+ return false;
+ }
+
+ caps = virConnectGetCapabilities(conn);
+ if (caps != NULL)
+ kvm = (strstr(caps, "kvm") != NULL);
+
+ free(caps);
+
+ virConnectClose(conn);
+
+ return kvm;
+}
+
static int fv_vssd_to_domain(CMPIInstance *inst,
struct domain *domain,
const char *pfx)
@@ -182,7 +205,10 @@
const char *val;
if (STREQC(pfx, "KVM")) {
- domain->type = DOMAIN_KVM;
+ if (system_has_kvm(pfx))
+ domain->type = DOMAIN_KVM;
+ else
+ domain->type = DOMAIN_QEMU;
} else if (STREQC(pfx, "Xen")) {
domain->type = DOMAIN_XENFV;
} else {
15 years, 8 months
[PATCH] [TEST] Adding new tc to cover offline migration
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri<deeptik(a)linux.vnet.ibm.com>
# Date 1239014625 25200
# Node ID e0c9e0c4b5a3c59ac721286522cbf0f663858090
# Parent 7ec8f401505cb9089e875fececa34814c0ea82cb
[TEST] Adding new tc to cover offline migration.
Tested with KVM and Xen with current sources.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r 7ec8f401505c -r e0c9e0c4b5a3 suites/libvirt-cim/cimtest/VirtualSystemMigrationService/07_remote_offline_migration.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/07_remote_offline_migration.py Mon Apr 06 03:43:45 2009 -0700
@@ -0,0 +1,137 @@
+#!/usr/bin/python
+#
+# Copyright 2009 IBM Corp.
+#
+# Authors:
+# Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
+#
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+#
+# This testcase is used to verify the offline(other) remote migration.
+#
+# Date : 12-03-09
+#
+
+import sys
+import os
+from socket import gethostname, gethostbyaddr
+from XenKvmLib import vxml
+from XenKvmLib.xm_virt_util import domain_list, net_list
+from CimTest.Globals import logger
+from XenKvmLib.const import do_main, default_network_name
+from CimTest.ReturnCodes import PASS, FAIL, SKIP
+from XenKvmLib.classes import get_typed_class
+from XenKvmLib.vsmigrations import local_remote_migrate
+from XenKvmLib.common_util import poll_for_state_change, create_netpool_conf,\
+ destroy_netpool
+
+sup_types = ['KVM', 'Xen']
+
+REQUESTED_STATE = 3
+
+def setup_guest(test_dom, ip, virt):
+ virt_xml = vxml.get_class(virt)
+ cxml = virt_xml(test_dom)
+ ret = cxml.cim_define(ip)
+ if not ret:
+ logger.error("Error define domain %s", test_dom)
+ return FAIL, cxml
+
+ status, dom_cs = poll_for_state_change(ip, virt, test_dom,
+ REQUESTED_STATE)
+ if status != PASS:
+ cxml.undefine(test_dom)
+ logger.error("'%s' didn't change state as expected" % test_dom)
+ return FAIL, cxml
+
+ return PASS, cxml
+
+def cleanup_guest_netpool(virt, cxml, test_dom, t_sysname, s_sysname):
+ # Clean the domain on target machine.
+ # This is req when migration is successful, also when migration is not
+ # completely successful VM might be created on the target machine
+ # and hence need to clean.
+ target_list = domain_list(t_sysname, virt)
+ if target_list != None and test_dom in target_list:
+ ret_value = cxml.undefine(t_sysname)
+ if not ret_value:
+ logger.info("Failed to undefine the migrated domain '%s' on '%s'",
+ test_dom, t_sysname)
+
+ # clean the networkpool created on the remote machine
+ target_net_list = net_list(t_sysname, virt)
+ if target_net_list != None and default_network_name in target_net_list:
+ ret_value = destroy_netpool(t_sysname, virt, default_network_name)
+ if ret_value != PASS:
+ logger.info("Unable to destroy networkpool '%s' on '%s'",
+ default_network_name, t_sysname)
+
+ # Remote Migration not Successful, clean the domain on src machine
+ src_list = domain_list(s_sysname, virt)
+ if src_list != None and test_dom in src_list:
+ ret_value = cxml.undefine(s_sysname)
+ if not ret_value:
+ logger.info("Failed to undefine the domain '%s' on source '%s'",
+ test_dom, s_sysname)
+
+
+@do_main(sup_types)
+def main():
+ options = main.options
+ virt = options.virt
+ s_sysname = gethostbyaddr(options.ip)[0]
+ t_sysname = gethostbyaddr(options.t_url)[0]
+ if options.virt == 'KVM' and (t_sysname == s_sysname or \
+ t_sysname in s_sysname):
+ logger.info("Libvirt does not support local migratoin for KVM")
+ return SKIP
+
+ status = FAIL
+ test_dom = 'VM_frm_' + gethostname()
+
+ try:
+ status, cxml = setup_guest(test_dom, s_sysname, virt)
+ if status != PASS:
+ logger.error("Error setting up the guest")
+ return status
+
+ # create the networkpool used in the domain to be migrated
+ # on the target machine.
+ t_net_list = net_list(t_sysname, virt)
+ if t_net_list != None and default_network_name not in t_net_list:
+ status, netpool = create_netpool_conf(t_sysname, virt,
+ net_name=default_network_name)
+ if status != PASS:
+ raise Exception("Unable to create network pool '%s' on '%s'"
+ % (default_network_name, t_sysname))
+
+ # Migrate the test_dom to t_sysname.
+ # Enable remote migration by setting remote_migrate=1
+ status = local_remote_migrate(s_sysname, t_sysname, virt,
+ remote_migrate=1, guest_name=test_dom,
+ mtype='offline')
+ except Exception, details:
+ logger.error("Exception details :%s", details)
+ status = FAIL
+
+ cleanup_guest_netpool(virt, cxml, test_dom, t_sysname, s_sysname)
+
+ return status
+
+if __name__ == "__main__":
+ sys.exit(main())
+
15 years, 8 months
[PATCH] [TEST] Adding new tc to cover restart and resume migration scenarios
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri<deeptik(a)linux.vnet.ibm.com>
# Date 1239014783 25200
# Node ID a063e2b6e79e70ff8a253b1b37c437f82d38eb26
# Parent e0c9e0c4b5a3c59ac721286522cbf0f663858090
[TEST] Adding new tc to cover restart and resume migration scenarios .
Tested with KVM and Xen with current sources.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r e0c9e0c4b5a3 -r a063e2b6e79e suites/libvirt-cim/cimtest/VirtualSystemMigrationService/08_remote_restart_resume_migration.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/08_remote_restart_resume_migration.py Mon Apr 06 03:46:23 2009 -0700
@@ -0,0 +1,182 @@
+#!/usr/bin/python
+#
+# Copyright 2009 IBM Corp.
+#
+# Authors:
+# Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
+#
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+#
+# This testcase is used to verify the resume and restart remote migration.
+#
+# Date : 05-04-2009
+#
+
+import sys
+import os
+from socket import gethostname, gethostbyaddr
+from XenKvmLib import vxml
+from XenKvmLib.xm_virt_util import domain_list, net_list
+from CimTest.Globals import logger
+from XenKvmLib.const import do_main, default_network_name
+from CimTest.ReturnCodes import PASS, FAIL, SKIP
+from XenKvmLib.classes import get_typed_class
+from XenKvmLib.vsmigrations import local_remote_migrate
+from XenKvmLib.common_util import poll_for_state_change, create_netpool_conf,\
+ destroy_netpool
+
+sup_types = ['KVM', 'Xen']
+
+REQUESTED_STATE = 2
+
+def setup_guest(test_dom, ip, virt):
+ virt_xml = vxml.get_class(virt)
+ cxml = virt_xml(test_dom)
+ ret = cxml.cim_define(ip)
+ if not ret:
+ logger.error("Error define domain %s", test_dom)
+ return FAIL, cxml
+
+ status = cxml.cim_start(ip)
+ if status != PASS:
+ cxml.undefine(test_dom)
+ logger.error("Error to start domain %s", test_dom)
+ return FAIL, cxml
+
+ status, dom_cs = poll_for_state_change(ip, virt, test_dom,
+ REQUESTED_STATE)
+ if status != PASS:
+ cxml.cim_destroy(test_dom)
+ cxml.undefine(test_dom)
+ logger.error("'%s' didn't change state as expected" % test_dom)
+ return FAIL, cxml
+
+ return PASS, cxml
+
+def cleanup_guest(virt, cxml, test_dom, t_sysname, s_sysname):
+ # Clean the domain on target machine.
+ # This is req when migration is successful, also when migration is not
+ # completely successful VM might be created on the target machine
+ # and hence need to clean.
+ target_list = domain_list(t_sysname, virt)
+ if target_list != None and test_dom in target_list:
+ ret_value = cxml.destroy(t_sysname)
+ if not ret_value:
+ logger.info("Failed to destroy the migrated domain '%s' on '%s'",
+ test_dom, t_sysname)
+
+ ret_value = cxml.undefine(t_sysname)
+ if not ret_value:
+ logger.info("Failed to undefine the migrated domain '%s' on '%s'",
+ test_dom, t_sysname)
+
+ # Remote Migration not Successful, clean the domain on src machine
+ src_list = domain_list(s_sysname, virt)
+ if src_list != None and test_dom in src_list:
+ ret_value = cxml.cim_destroy(s_sysname)
+ if not ret_value:
+ logger.info("Failed to destroy the domain '%s' on the source '%s'",
+ test_dom, s_sysname)
+
+ ret_value = cxml.undefine(s_sysname)
+ if not ret_value:
+ logger.info("Failed to undefine the domain '%s' on source '%s'",
+ test_dom, s_sysname)
+
+
+def str_status(status):
+ if status == PASS:
+ return 'PASSED'
+ else:
+ return 'FAILED'
+
+@do_main(sup_types)
+def main():
+ options = main.options
+ virt = options.virt
+ s_sysname = gethostbyaddr(options.ip)[0]
+ t_sysname = gethostbyaddr(options.t_url)[0]
+ if options.virt == 'KVM' and (t_sysname == s_sysname or \
+ t_sysname in s_sysname):
+ logger.info("Libvirt does not support local migratoin for KVM")
+ return SKIP
+
+ status = FAIL
+ test_dom = 'VM_frm_' + gethostname()
+ net_pool_name = default_network_name
+ mig_types = [ 'restart', 'resume' ]
+ status_resume = status_restart = None
+
+ try:
+
+ for mig_type in mig_types:
+ logger.info("Executing '%s' migration for '%s' from '%s' to '%s'",
+ mig_type, test_dom, s_sysname, t_sysname)
+ status, cxml = setup_guest(test_dom, s_sysname, virt)
+ if status != PASS:
+ logger.error("Error setting up the guest")
+ return status
+
+ # create the networkpool used in the domain to be migrated
+ # on the target machine.
+ t_net_list = net_list(t_sysname, virt)
+ if t_net_list != None and net_pool_name not in t_net_list:
+ status, netpool = create_netpool_conf(t_sysname, virt,
+ net_name=net_pool_name)
+ if status != PASS:
+ raise Exception("Unable to create network pool '%s' on '%s'"
+ % (net_pool_name, t_sysname))
+
+ # Migrate the test_dom to t_sysname.
+ # Enable remote migration by setting remote_migrate=1
+ status = local_remote_migrate(s_sysname, t_sysname, virt,
+ remote_migrate=1, guest_name=test_dom,
+ mtype=mig_type)
+
+ logger.info("'%s' Migration for '%s %s' \n",
+ mig_type, test_dom, str_status(status))
+ if mig_type == 'restart' :
+ status_restart = status
+ else:
+ status_resume = status
+
+ cleanup_guest(virt, cxml, test_dom, t_sysname, s_sysname)
+
+ except Exception, details:
+ logger.error("Exception details is :%s", details)
+ cleanup_guest(virt, cxml, test_dom, t_sysname, s_sysname)
+ status = FAIL
+
+ # clean the networkpool created on the remote machine
+ target_net_list = net_list(t_sysname, virt)
+ if target_net_list != None and net_pool_name in target_net_list:
+ ret_value = destroy_netpool(t_sysname, virt, net_pool_name)
+ if ret_value != PASS:
+ logger.info("Unable to destroy networkpool '%s' on '%s'",
+ net_pool_name, t_sysname)
+
+ if status_restart != PASS or status_resume != PASS:
+ status = FAIL
+ else:
+ status = PASS
+
+ logger.info("Test case %s", str_status(status))
+ return status
+
+if __name__ == "__main__":
+ sys.exit(main())
+
15 years, 8 months
[PATCH] [TEST] Adding remote_copy_guest_image() to vsmigration.py
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri<deeptik(a)linux.vnet.ibm.com>
# Date 1238772223 25200
# Node ID 8923fbe5cb2a4321feff81be63a6c458ebdae52d
# Parent bfd8818c151aec7e9fa8a675fe29e03e4e07824e
[TEST] Adding remote_copy_guest_image() to vsmigration.py.
This is needed to make sure that we have the required image files
on the destination for the remote migration tests to be successful.
Tested for KVM and Xen with current sources.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r bfd8818c151a -r 8923fbe5cb2a suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py
--- a/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Sun Mar 29 16:04:03 2009 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Fri Apr 03 08:23:43 2009 -0700
@@ -21,16 +21,19 @@
#
#
+import random
from time import sleep
+from VirtLib import utils
from pywbem import WBEMConnection, CIMInstanceName
from CimTest.CimExt import CIMMethodClass, CIMClassMOF
from CimTest.ReturnCodes import PASS, FAIL
-from XenKvmLib import enumclass
+from XenKvmLib.enumclass import EnumInstances
from XenKvmLib.classes import get_typed_class, virt_types
from XenKvmLib.xm_virt_util import domain_list
from XenKvmLib.const import get_provider_version
from CimTest.Globals import logger, CIM_USER, CIM_PASS, CIM_NS, \
CIM_ERROR_ENUMERATE
+
# Migration constants
CIM_MIGRATE_OFFLINE=1
CIM_MIGRATE_LIVE=2
@@ -129,6 +132,41 @@
return msd.mof()
+def remote_copy_guest_image(virt, s_sysname, t_sysname, test_dom):
+ cn_name = get_typed_class(virt, 'DiskResourceAllocationSettingData')
+ req_image = backup_image = None
+ try:
+ d_rasds = EnumInstances(s_sysname, cn_name, ret_cim_inst=True)
+ for d_rasd in d_rasds:
+ if test_dom in d_rasd["InstanceID"]:
+ req_image = d_rasd["Address"]
+ break
+
+ if req_image == None:
+ logger.error("Failed to get Disk RASD info for '%s'", test_dom)
+ return FAIL, req_image, backup_image
+
+ # Check if the image file with the same name already exist on the machine.
+ # Back it up. Copy the required working image to the destination.
+ cmd = "/bin/ls -l %s" % req_image
+ rc, out = utils.run_remote(t_sysname, cmd)
+ if rc == 0:
+ backup_image = req_image + "." + str(random.randint(1, 100))
+ cmd = 'mv %s %s' % (req_image, backup_image)
+ rc, out = utils.run_remote(t_sysname, cmd)
+
+ s, o = utils.copy_remote(t_sysname, req_image, remote=req_image)
+ if s != 0:
+ logger.error("Failed to copy the image file '%s' for migration"\
+ " to '%s'", req_image, t_sysname)
+ return FAIL, req_image, backup_image
+ except Exception, details:
+ logger.error("Exception in remote_copy_guest_image()")
+ logger.error("Exception details %s", details)
+ return FAIL, req_image, backup_image
+
+ return PASS, req_image, backup_image
+
def check_possible_host_migration(service, cs_ref, ip, msd=None):
res = None
try:
@@ -181,7 +219,7 @@
mig_job_cn = get_typed_class(virt, 'MigrationJob')
try:
- job = enumclass.EnumInstances(src_ip, mig_job_cn)
+ job = EnumInstances(src_ip, mig_job_cn)
if len(job) < 1:
logger.error("'%s' returned empty list", mig_job_cn)
return FAIL, None
@@ -285,6 +323,14 @@
logger.error("Guest to be migrated not specified.")
return FAIL
+ if remote_migrate == 1:
+ status, req_image, backup_image = remote_copy_guest_image(virt,
+ s_sysname,
+ t_sysname,
+ guest_name)
+ if status != PASS:
+ return status
+
# Get the guest ref
guest_ref = get_guest_ref(guest_name, virt)
if guest_ref == None or guest_ref['Name'] != guest_name:
@@ -320,4 +366,15 @@
status = check_migration_job(s_sysname, id, t_sysname, guest_name,
remote_migrate, virt, timeout=time_out)
+ # Make sure we do not remove the images on the local machine
+ if remote_migrate == 1:
+ # Cleanup the images that is copied on the remote machine
+ cmd = "rm -rf %s" % req_image
+ rc, out = utils.run_remote(t_sysname, cmd)
+
+ # Copy the backed up image if any on the remote machine
+ if backup_image != None:
+ cmd = 'mv %s %s' % (backup_image, req_image)
+ rc, out = utils.run_remote(t_sysname, cmd)
+
return status
15 years, 8 months
[PATCH] This patch removes the error throwed when volume info cannot be extracted in the disk template generation
by Richard Maciel
# HG changeset patch
# User Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
# Date 1238653874 10800
# Node ID 2f4943568299ef76e285e34412ec5ba5f2badbd7
# Parent 3dff43d9b55fdd8b684370a5e1de61640924d63e
This patch removes the error throwed when volume info cannot be extracted in the disk template generation
If volume information is not available, only a CU_DEBUG message should be generated.
Signed-off-by: Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
diff -r 3dff43d9b55f -r 2f4943568299 src/Virt_SettingsDefineCapabilities.c
--- a/src/Virt_SettingsDefineCapabilities.c Tue Mar 31 14:25:53 2009 -0700
+++ b/src/Virt_SettingsDefineCapabilities.c Thu Apr 02 03:31:14 2009 -0300
@@ -846,10 +846,7 @@
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");
+ CU_DEBUG("Unable to get volume information");
goto out;
}
15 years, 8 months