Test Run Summary (Apr 08 2009): XenFV on Red Hat Enterprise Linux Server release 5.3 (Tikanga) with Pegasus
by Deepti B Kalakeri
=================================================
Test Run Summary (Apr 08 2009): XenFV 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: 613
Libvirt-cim changeset: 1fcf330fadf8+
Cimtest revision: 662
Cimtest changeset: a2c6bcec55c1
=================================================
FAIL : 5
XFAIL : 1
SKIP : 15
PASS : 129
-----------------
Total : 150
=================================================
FAIL Test Summary:
NetworkPort - 02_np_gi_errors.py: FAIL
RASD - 01_verify_rasd_fields.py: FAIL
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
VirtualSystemManagementService - 09_procrasd_persist.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 33_suspend_reboot.py: XFAIL
=================================================
SKIP Test Summary:
ComputerSystem - 02_nosystems.py: SKIP
HostedAccessPoint - 01_forward.py: SKIP
HostedAccessPoint - 02_reverse.py: SKIP
KVMRedirectionSAP - 01_enum_KVMredSAP.py: SKIP
LogicalDisk - 02_nodevs.py: SKIP
NetworkPort - 03_user_netport.py: SKIP
RASD - 05_disk_rasd_emu_type.py: SKIP
RedirectionService - 01_enum_crs.py: SKIP
RedirectionService - 02_enum_crscap.py: SKIP
RedirectionService - 03_RedirectionSAP_errs.py: SKIP
ServiceAccessBySAP - 01_forward.py: SKIP
ServiceAccessBySAP - 02_reverse.py: SKIP
VSSD - 02_bootldr.py: SKIP
VirtualSystemMigrationService - 06_remote_live_migration.py: SKIP
VirtualSystemMigrationService - 07_remote_offline_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: 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: 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: SKIP
--------------------------------------------------------------------
HostedAccessPoint - 02_reverse.py: SKIP
--------------------------------------------------------------------
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: SKIP
--------------------------------------------------------------------
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: FAIL
ERROR - (6, u'CIM_ERR_NOT_FOUND: No such instance (test_domain/00:11:22:33:44:55)')
--------------------------------------------------------------------
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: FAIL
ERROR - (6, u'CIM_ERR_NOT_FOUND: No such instance (domguest/00:16:3e:5d:c7:9e)')
ERROR - Enum RASDs failed
--------------------------------------------------------------------
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: SKIP
--------------------------------------------------------------------
RedirectionService - 01_enum_crs.py: SKIP
--------------------------------------------------------------------
RedirectionService - 02_enum_crscap.py: SKIP
--------------------------------------------------------------------
RedirectionService - 03_RedirectionSAP_errs.py: SKIP
--------------------------------------------------------------------
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: SKIP
--------------------------------------------------------------------
ServiceAccessBySAP - 02_reverse.py: SKIP
--------------------------------------------------------------------
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: FAIL
ERROR - VirtualQuantity is 1, expected 3
ERROR - Exception: details CPU scheduling not set properly for the dom: procrasd_persist_dom
--------------------------------------------------------------------
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: FAIL
ERROR - JobStatus for dom 'dom_migrate' has 'Migration Failed' instead of 'Completed'
Xen_ComputerSystem.CreationClassName="Xen_ComputerSystem",Name="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: SKIP
--------------------------------------------------------------------
VirtualSystemMigrationService - 07_remote_offline_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
--------------------------------------------------------------------
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik(a)linux.vnet.ibm.com
15 years, 8 months
Test Run Summary (Apr 08 2009): Xen on Red Hat Enterprise Linux Server release 5.3 (Tikanga) with Pegasus
by Deepti B Kalakeri
=================================================
Test Run Summary (Apr 08 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: 613
Libvirt-cim changeset: 1fcf330fadf8+
Cimtest revision: 662
Cimtest changeset: a2c6bcec55c1
=================================================
FAIL : 3
XFAIL : 1
SKIP : 12
PASS : 134
-----------------
Total : 150
=================================================
FAIL Test Summary:
RASD - 01_verify_rasd_fields.py: FAIL
VirtualSystemMigrationService - 01_migratable_host.py: FAIL
VirtualSystemMigrationService - 02_host_migrate_type.py: FAIL
=================================================
XFAIL Test Summary:
ComputerSystem - 33_suspend_reboot.py: XFAIL
=================================================
SKIP Test Summary:
ComputerSystem - 02_nosystems.py: SKIP
HostedAccessPoint - 01_forward.py: SKIP
HostedAccessPoint - 02_reverse.py: SKIP
KVMRedirectionSAP - 01_enum_KVMredSAP.py: SKIP
LogicalDisk - 02_nodevs.py: SKIP
NetworkPort - 03_user_netport.py: SKIP
RASD - 05_disk_rasd_emu_type.py: SKIP
RedirectionService - 01_enum_crs.py: SKIP
RedirectionService - 02_enum_crscap.py: SKIP
RedirectionService - 03_RedirectionSAP_errs.py: SKIP
ServiceAccessBySAP - 01_forward.py: SKIP
ServiceAccessBySAP - 02_reverse.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
--------------------------------------------------------------------
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: 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: SKIP
--------------------------------------------------------------------
HostedAccessPoint - 02_reverse.py: SKIP
--------------------------------------------------------------------
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: SKIP
--------------------------------------------------------------------
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: FAIL
ERROR - (6, u'CIM_ERR_NOT_FOUND: No such instance (domguest/11:22:33:aa:bb:cc)')
ERROR - Enum RASDs failed
--------------------------------------------------------------------
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: SKIP
--------------------------------------------------------------------
RedirectionService - 01_enum_crs.py: SKIP
--------------------------------------------------------------------
RedirectionService - 02_enum_crscap.py: SKIP
--------------------------------------------------------------------
RedirectionService - 03_RedirectionSAP_errs.py: SKIP
--------------------------------------------------------------------
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: SKIP
--------------------------------------------------------------------
ServiceAccessBySAP - 02_reverse.py: SKIP
--------------------------------------------------------------------
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: PASS
--------------------------------------------------------------------
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] [TEST] Adding check_mig_support() to vsmigration.py [Rebased Patch]
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri<deeptik(a)linux.vnet.ibm.com>
# Date 1239254376 25200
# Node ID 2f260c9f4cc7f914038f5eef12deb7c72e1cacf8
# Parent 6027a48279e6daff21453a30b3749a0b79218c8a
[TEST] Adding check_mig_support() to vsmigration.py [Rebased Patch].
This check is used to verify if local migration is triggered for KVM.
Tested for Xen/KVM with current sources and rpm.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r 6027a48279e6 -r 2f260c9f4cc7 suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py
--- a/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Tue Apr 07 06:29:37 2009 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Wed Apr 08 22:19:36 2009 -0700
@@ -23,6 +23,7 @@
import random
from time import sleep
+from socket import gethostbyaddr
from VirtLib import utils
from pywbem import WBEMConnection, CIMInstanceName
from CimTest.CimExt import CIMMethodClass, CIMClassMOF
@@ -90,6 +91,16 @@
class KVM_VirtualSystemMigrationSettingData(CIM_VirtualSystemMigrationSettingData):
pass
+def check_mig_support(virt, options):
+ s_sysname = gethostbyaddr(options.ip)[0]
+ t_sysname = gethostbyaddr(options.t_url)[0]
+ if virt == 'KVM' and (t_sysname == s_sysname or t_sysname in s_sysname):
+ logger.info("Libvirt does not support local migration for KVM")
+ return SKIP, s_sysname, t_sysname
+
+ return PASS, s_sysname, t_sysname
+
+
def get_msd(virt, mtype='live', mpriority=0):
if mtype == "live":
mtype = CIM_MIGRATE_LIVE
15 years, 8 months
[PATCH] [TEST] Adding check_mig_support() to vsmigration.py
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri<deeptik(a)linux.vnet.ibm.com>
# Date 1239181167 25200
# Node ID 9fc3064048044e18e14f96d12cadf7a0f8245c07
# Parent a2c6bcec55c1fb8c7a0e7ced19d6840865180297
[TEST] Adding check_mig_support() to vsmigration.py.
This check is used to verify if local migration is triggered for KVM.
Tested for Xen/KVM with current sources and rpm.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r a2c6bcec55c1 -r 9fc306404804 suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py
--- a/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Mon Apr 06 03:43:45 2009 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Wed Apr 08 01:59:27 2009 -0700
@@ -22,6 +22,7 @@
#
from time import sleep
+from socket import gethostbyaddr
from pywbem import WBEMConnection, CIMInstanceName
from CimTest.CimExt import CIMMethodClass, CIMClassMOF
from CimTest.ReturnCodes import PASS, FAIL
@@ -129,6 +130,15 @@
return msd.mof()
+def check_mig_support(virt, options):
+ s_sysname = gethostbyaddr(options.ip)[0]
+ t_sysname = gethostbyaddr(options.t_url)[0]
+ if virt == 'KVM' and (t_sysname == s_sysname or t_sysname in s_sysname):
+ logger.info("Libvirt does not support local migration for KVM")
+ return SKIP, s_sysname, t_sysname
+
+ return PASS, s_sysname, t_sysname
+
def check_possible_host_migration(service, cs_ref, ip, msd=None):
res = None
try:
15 years, 8 months
[PATCH] [TEST] Add check to see if user can ssh to remote host
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1238367843 25200
# Node ID f67cd4aacb45f3a1ecfadeb3103058f0abf675d0
# Parent 444cee668a76b0ef7fa1b5da94ae3763522834f2
[TEST] Add check to see if user can ssh to remote host
If this check fails, indicate to user they need to copy their key to root's
authorized_keys file. If the user is root (or cimtest is run using sudo), the
public key is written to authorized_keys automatically.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r 444cee668a76 -r f67cd4aacb45 lib/VirtLib/utils.py
--- a/lib/VirtLib/utils.py Sun Mar 29 16:04:03 2009 -0700
+++ b/lib/VirtLib/utils.py Sun Mar 29 16:04:03 2009 -0700
@@ -27,9 +27,16 @@
# ssh utils
SSH_PARMS="-q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
-root_dot_ssh = os.path.join(os.getenv('HOME'), '.ssh')
-SSH_KEY = os.path.join(root_dot_ssh, 'id_rsa')
-AUTHED_KEYS = os.path.join(root_dot_ssh, 'authorized_keys')
+USER_SSH_PATH = os.path.join(os.getenv('HOME'), '.ssh')
+ROOT_SSH_PATH = "/root/.ssh"
+SSH_KEY = os.path.join(USER_SSH_PATH, 'id_rsa')
+AUTHED_KEYS = os.path.join(ROOT_SSH_PATH, 'authorized_keys')
+
+def run_remote_chk(ip, cmd):
+
+ cmd = 'ssh %s -o PasswordAuthentication=no -i %s root@%s "%s"' % \
+ (SSH_PARMS, SSH_KEY, ip, cmd)
+ return commands.getstatusoutput(cmd)
def run_remote(ip, cmd):
@@ -72,23 +79,37 @@
t0Vm53Jlg5CzFbn9EZp3LN9D/GEwKOqPehB+P0qhz15H8j6VQQ==
-----END RSA PRIVATE KEY-----
"""
+
+ def gen_pubkey():
+ print "\nGenerating public key from private key...\n"
+ cmd = 'ssh-keygen -y -f %s' % SSH_KEY
+ return commands.getoutput(cmd)
def write_pubkey(pubkey):
+ cmd = "whoami"
+ rc, o = commands.getstatusoutput(cmd)
+ if rc != 0 or o != "root":
+ return
+
f = open(AUTHED_KEYS, 'a+')
f.write('\n'+pubkey)
f.flush()
f.close()
-
+
def write_privkey(privkey):
- f = open(SSH_KEY, 'w')
+ if not os.path.exists(SSH_KEY):
+ if not os.path.exists(USER_SSH_PATH):
+ os.mkdir(USER_SSH_PATH)
+ f = file(SSH_KEY,'wt')
+ else:
+ f = open(SSH_KEY, 'w')
f.write(privkey)
f.flush()
f.close()
os.chmod(SSH_KEY, 0400)
if os.path.exists(SSH_KEY):
- cmd = 'ssh-keygen -y -f %s' % SSH_KEY
- pubkey = commands.getoutput(cmd)
+ pubkey = gen_pubkey()
if os.path.exists(AUTHED_KEYS):
cmd = """grep "%s" %s >/dev/null 2>&1""" % (pubkey, AUTHED_KEYS)
rc, o = commands.getstatusoutput(cmd)
@@ -98,6 +119,5 @@
write_pubkey(pubkey)
else:
write_privkey(ssh_key)
- cmd = 'ssh-keygen -y -f %s' % SSH_KEY
- pubkey = commands.getoutput(cmd)
+ pubkey = gen_pubkey()
write_pubkey(pubkey)
diff -r 444cee668a76 -r f67cd4aacb45 suites/libvirt-cim/main.py
--- a/suites/libvirt-cim/main.py Sun Mar 29 16:04:03 2009 -0700
+++ b/suites/libvirt-cim/main.py Sun Mar 29 16:04:03 2009 -0700
@@ -93,6 +93,14 @@
print "Cleaned log files."
def pre_check(ip, virt):
+ cmd = "ls"
+ ret, out = utils.run_remote_chk(ip, cmd)
+ if ret != 0:
+ msg = "Unable to write to %s.\nPlease add your public key (%s.pub)" \
+ " to %s's %s and rerun the test" % (utils.AUTHED_KEYS,
+ utils.SSH_KEY, ip, utils.AUTHED_KEYS)
+ return msg
+
cmd = "virsh -c %s list --all" % virt2uri(virt)
ret, out = utils.run_remote(ip, cmd)
if ret != 0:
15 years, 8 months
[PATCH] [TEST] Updating 06_remote_live_migration.py, 07_remote_offline_migration.py tc to use check_mig_support()
by Deepti B. Kalakeri
# HG changeset patch
# User Deepti B. Kalakeri<deeptik(a)linux.vnet.ibm.com>
# Date 1239182573 25200
# Node ID b52473e2e6d72077d2aaa7bdd0593b9ad24924e8
# Parent fbd3990003091191b34ce74569d07d999b22eb41
[TEST] Updating 06_remote_live_migration.py, 07_remote_offline_migration.py tc to use check_mig_support().
This patch is dependent on Adding check_mig_support() to vsmigration.py.
Tested with Xen/KVM with current sources and rpm.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r fbd399000309 -r b52473e2e6d7 suites/libvirt-cim/cimtest/VirtualSystemMigrationService/06_remote_live_migration.py
--- a/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/06_remote_live_migration.py Wed Apr 08 02:05:16 2009 -0700
+++ b/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/06_remote_live_migration.py Wed Apr 08 02:22:53 2009 -0700
@@ -28,14 +28,14 @@
import sys
import os
-from socket import gethostname, gethostbyaddr
+from socket import gethostname
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.vsmigrations import check_mig_support, local_remote_migrate
from XenKvmLib.common_util import poll_for_state_change, create_netpool_conf,\
destroy_netpool
@@ -110,12 +110,9 @@
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, s_sysname, t_sysname = check_mig_support(virt, options)
+ if status != PASS:
+ return status
status = FAIL
test_dom = 'VM_frm_' + gethostname()
diff -r fbd399000309 -r b52473e2e6d7 suites/libvirt-cim/cimtest/VirtualSystemMigrationService/07_remote_offline_migration.py
--- a/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/07_remote_offline_migration.py Wed Apr 08 02:05:16 2009 -0700
+++ b/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/07_remote_offline_migration.py Wed Apr 08 02:22:53 2009 -0700
@@ -28,14 +28,14 @@
import sys
import os
-from socket import gethostname, gethostbyaddr
+from socket import gethostname
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 CimTest.ReturnCodes import PASS, FAIL
from XenKvmLib.classes import get_typed_class
-from XenKvmLib.vsmigrations import local_remote_migrate
+from XenKvmLib.vsmigrations import check_mig_support, local_remote_migrate
from XenKvmLib.common_util import poll_for_state_change, create_netpool_conf,\
destroy_netpool
@@ -93,12 +93,9 @@
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, s_sysname, t_sysname = check_mig_support(virt, options)
+ if status != PASS:
+ return status
status = FAIL
test_dom = 'VM_frm_' + gethostname()
15 years, 8 months
[PATCH] [TEST] #2 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 1239181516 25200
# Node ID fbd3990003091191b34ce74569d07d999b22eb41
# Parent 9fc3064048044e18e14f96d12cadf7a0f8245c07
[TEST] #2 Adding new tc to cover restart and resume migration scenarios .
Updates:
--------
Patch 2:
--------
Included break stmt when cleanup of guest fails.
Tested with KVM and Xen with current sources and rpm.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
diff -r 9fc306404804 -r fbd399000309 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 Wed Apr 08 02:05:16 2009 -0700
@@ -0,0 +1,189 @@
+#!/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
+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 check_mig_support, 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):
+ status = PASS
+ # 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)
+ status = FAIL
+
+ 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)
+ status = FAIL
+
+ # 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)
+ status = FAIL
+
+ 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)
+ status = FAIL
+
+ return status
+
+def str_status(status):
+ if status == PASS:
+ return 'PASSED'
+ else:
+ return 'FAILED'
+
+@do_main(sup_types)
+def main():
+ options = main.options
+ virt = options.virt
+ status, s_sysname, t_sysname = check_mig_support(virt, options)
+ if status != PASS:
+ return status
+
+ status = FAIL
+ test_dom = 'VM_frm_' + gethostname()
+ net_pool_name = default_network_name
+ mig_types = [ 'restart', 'resume' ]
+ status_resume = status_restart = None
+ cxml = 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
+
+ ret = cleanup_guest(virt, cxml, test_dom, t_sysname, s_sysname)
+ if ret != PASS:
+ logger.error("Cleanup failed after '%s' migration", mig_type)
+ break
+
+ 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] (#2)This patch changes the status message generated when a live migration cannot be executed because the domain isn't in the live/resume state
by Richard Maciel
# HG changeset patch
# User Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
# Date 1239152083 10800
# Node ID 3b7ba02cd34a4b91903e4d412fc7d5dd75779598
# Parent e5aee0f0edc128d41148ec4cedaba2bdd53cf05e
(#2)This patch changes the status message generated when a live migration cannot be executed because the domain isn't in the live/resume state
2:
- Formatted string correctly
Signed-off-by: Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
diff -r e5aee0f0edc1 -r 3b7ba02cd34a src/Virt_VSMigrationService.c
--- a/src/Virt_VSMigrationService.c Tue Mar 31 14:04:39 2009 -0700
+++ b/src/Virt_VSMigrationService.c Tue Apr 07 21:54:43 2009 -0300
@@ -960,7 +960,8 @@
if ((const int)info.state == VIR_DOMAIN_SHUTOFF) {
cu_statusf(_BROKER, &s,
CMPI_RC_ERR_INVALID_PARAMETER,
- "Domain must not be shut off for live migration");
+ "Domain must be running for live "
+ "or resume migration");
goto out;
}
15 years, 8 months
[PATCH] This patch changes the status message generated when a live migration cannot be executed because the domain isn't in the live/resume state
by Richard Maciel
# HG changeset patch
# User Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
# Date 1239131809 10800
# Node ID c940cdadd76903db3f4970624890978fb934a898
# Parent e5aee0f0edc128d41148ec4cedaba2bdd53cf05e
This patch changes the status message generated when a live migration cannot be executed because the domain isn't in the live/resume state
Signed-off-by: Richard Maciel <rmaciel(a)linux.vnet.ibm.com>
diff -r e5aee0f0edc1 -r c940cdadd769 src/Virt_VSMigrationService.c
--- a/src/Virt_VSMigrationService.c Tue Mar 31 14:04:39 2009 -0700
+++ b/src/Virt_VSMigrationService.c Tue Apr 07 16:16:49 2009 -0300
@@ -960,7 +960,8 @@
if ((const int)info.state == VIR_DOMAIN_SHUTOFF) {
cu_statusf(_BROKER, &s,
CMPI_RC_ERR_INVALID_PARAMETER,
- "Domain must not be shut off for live migration");
+ "Domain must be running for live \
+ or resume migration");
goto out;
}
15 years, 8 months
[PATCH] [TEST] #2 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 1239110977 25200
# Node ID 6027a48279e6daff21453a30b3749a0b79218c8a
# Parent a2c6bcec55c1fb8c7a0e7ced19d6840865180297
[TEST] #2 Adding remote_copy_guest_image() to vsmigration.py.
Updates:
--------
Patch 2:
--------
1) Included log message when the image restoration fails.
2) Included try , Except block in local_remote_migrate().
3) Moved the cleanup of image to a function cleanup_image.
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 a2c6bcec55c1 -r 6027a48279e6 suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py
--- a/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Mon Apr 06 03:43:45 2009 -0700
+++ b/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Tue Apr 07 06:29:37 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,48 @@
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 = "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)
+ if rc != 0:
+ backup_image = None
+ logger.error("Failed to backup the image '%s' on '%s'",
+ req_image, t_sysname)
+ return FAIL, req_image, backup_image
+
+ 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 +226,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
@@ -260,6 +305,25 @@
logger.error("In check_migration_job() Exception details: %s", details)
return FAIL
+
+def cleanup_image(backup_image, req_image, t_sysname, remote_migrate=1):
+ # 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)
+ if rc != 0:
+ logger.info("Failed to remove the copied image '%s' from '%s'",
+ req_image, t_sysname)
+
+ # 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)
+ if rc != 0:
+ logger.info("Failed to restore the original backed up image" \
+ "'%s' on '%s'", backup_image, t_sysname)
+
# Desc:
# Fn Name : local_remote_migrate()
#
@@ -285,39 +349,54 @@
logger.error("Guest to be migrated not specified.")
return FAIL
- # Get the guest ref
- guest_ref = get_guest_ref(guest_name, virt)
- if guest_ref == None or guest_ref['Name'] != guest_name:
- logger.error("Failed to get the guest refernce to be migrated")
- return FAIL
+ try:
+ if remote_migrate == 1:
+ status, req_image, backup_image = remote_copy_guest_image(virt,
+ s_sysname,
+ t_sysname,
+ guest_name)
+ if status != PASS:
+ raise Exception("Failure from remote_copy_guest_image()")
- # Get MigrationSettingData information
- msd = get_msd(virt, mtype, mpriority)
- if msd == None:
- return FAIL
+ # Get the guest ref
+ guest_ref = get_guest_ref(guest_name, virt)
+ if guest_ref == None or guest_ref['Name'] != guest_name:
+ raise Exception ("Failed to get the guest refernce to be migrated")
- # Get VirtualSystemMigrationService object
- vsms_cn = get_vs_mig_setting_class(virt)
- vsmservice = vsms_cn(s_sysname, virt)
+ # Get MigrationSettingData information
+ msd = get_msd(virt, mtype, mpriority)
+ if msd == None:
+ raise Exception("No MigrationSettingData details found")
- # Verify is destination(t_sysname) can be used for migration
- status = check_possible_host_migration(vsmservice, guest_ref,
- t_sysname, msd)
- if status != PASS:
- return FAIL
+ # Get VirtualSystemMigrationService object
+ vsms_cn = get_vs_mig_setting_class(virt)
+ vsmservice = vsms_cn(s_sysname, virt)
- logger.info("Migrating %s.. this will take some time.", guest_name)
- # Migrate the guest to t_sysname
- status, ret = migrate_guest_to_host(vsmservice, guest_ref, t_sysname, msd)
- if status == FAIL:
- logger.error("Failed to Migrate guest '%s' from '%s' to '%s'",
- guest_name, s_sysname, t_sysname)
- return status
- elif len(ret) == 2:
- id = ret[1]['Job'].keybindings['InstanceID']
+ # Verify if destination(t_sysname) can be used for migration
+ status = check_possible_host_migration(vsmservice, guest_ref,
+ t_sysname, msd)
+ if status != PASS:
+ raise Exception("Failed to verify Migration support on host '%s'" \
+ % t_sysname)
- # Verify if migration status
- status = check_migration_job(s_sysname, id, t_sysname, guest_name,
- remote_migrate, virt, timeout=time_out)
+ logger.info("Migrating '%s'.. this will take some time.", guest_name)
+ # Migrate the guest to t_sysname
+ status, ret = migrate_guest_to_host(vsmservice, guest_ref, t_sysname, msd)
+ if status == FAIL:
+ raise Exception("Failed to Migrate guest '%s' from '%s' to '%s'" \
+ % (guest_name, s_sysname, t_sysname))
+ elif len(ret) == 2:
+ id = ret[1]['Job'].keybindings['InstanceID']
+
+ # Verify if migration status
+ status = check_migration_job(s_sysname, id, t_sysname, guest_name,
+ remote_migrate, virt, timeout=time_out)
+
+ except Exception, details:
+ logger.error("Exception in local_remote_migrate()")
+ logger.error("Exception details %s", details)
+ status = FAIL
+
+ cleanup_image(backup_image, req_image, t_sysname, remote_migrate=1)
return status
15 years, 8 months