[PATCH 0 of 2] [TEST] Fixed 01_migratable_host.py and 02_host_migrate_type.py of VSMigrationService.

# HG changeset patch # User Guolian Yun <yunguol@cn.ibm.com> # Date 1219395625 25200 # Node ID 9685653189eb23d669cd25de192b6cb80308439a # Parent a2d99551422607e336428ea36d23e5336042a847 [TEST] Fixed enumclass.py and vsmigration.py to work with different Virt MigrationJob. Remove hardcoded Virt prefix from VSMigrationJob and used the virt param. Signed-off-by: Deepti B. Kalakeri <deeptik@linux.vnet.ibm.com> diff -r a2d995514226 -r 9685653189eb suites/libvirt-cim/lib/XenKvmLib/enumclass.py --- a/suites/libvirt-cim/lib/XenKvmLib/enumclass.py Wed Aug 20 14:30:36 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/enumclass.py Fri Aug 22 02:00:25 2008 -0700 @@ -90,9 +90,13 @@ class CIM_DiskResourceAllocationSettingD class CIM_DiskResourceAllocationSettingData(CIM_MyClass): pass +class Xen_MigrationJob(CIM_MyClass): + pass +class KVM_MigrationJob(CIM_MyClass): + pass -class Virt_MigrationJob(CIM_MyClass): +class XenFV_MigrationJob(CIM_MyClass): pass class Xen_RegisteredProfile(CIM_RegisteredProfile): diff -r a2d995514226 -r 9685653189eb suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py --- a/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Wed Aug 20 14:30:36 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/vsmigrations.py Fri Aug 22 02:00:25 2008 -0700 @@ -26,6 +26,7 @@ from XenKvmLib.test_doms import destroy_ from XenKvmLib.test_doms import destroy_and_undefine_domain from CimTest.Globals import logger, CIM_ERROR_ENUMERATE from XenKvmLib import enumclass +from XenKvmLib.classes import get_typed_class from VirtLib.live import domain_list class CIM_VirtualSystemMigrationService(CIMMethodClass): @@ -100,22 +101,19 @@ def migrate_guest_to_host(service, ref, if len(ret) == 0: logger.error("MigrateVirtualSystemToHost returns an empty list") return FAIL, ret - return PASS, ret -def get_migration_job_instance(ip, id): +def get_migration_job_instance(ip, virt, id): job = [] key_list = ["instanceid"] - + mig_job_cn = get_typed_class(virt, 'MigrationJob') try: - #virt='Virt' is odd here. However, for MigrationJob, the - #provider is virtualization neutral. job = enumclass.enumerate(ip, - enumclass.Virt_MigrationJob, + mig_job_cn, key_list, - virt='Virt') + virt=virt) except Exception, details: - logger.error(CIM_ERROR_ENUMERATE, 'Virt_MigrationJob') + logger.error(CIM_ERROR_ENUMERATE, mig_job_cn) logger.error(details) return FAIL, None @@ -126,7 +124,7 @@ def get_migration_job_instance(ip, id): if job[i].InstanceID == id: break elif i == len(job)-1 and job[i].InstanceID != id: - logger.error("Virt_MigrationJob err: can't find expected job inst") + logger.error("%s err: can't find expected job inst", mig_job_cn) return FAIL, None return PASS, job[i] @@ -144,8 +142,8 @@ def verify_domain_list(list, local_migra return PASS -def check_migration_job(ip, id, target_ip, test_dom, local_migrate): - status, job_inst = get_migration_job_instance(ip, id) +def check_migration_job(ip, id, target_ip, test_dom, local_migrate, virt='Xen'): + status, job_inst = get_migration_job_instance(ip, virt, id) if status != PASS: return FAIL @@ -159,7 +157,7 @@ def check_migration_job(ip, id, target_i break elif job_inst.JobState == 4 and i < 49: time.sleep(3) - status, job_inst = get_migration_job_instance(ip, id) + status, job_inst = get_migration_job_instance(ip, virt, id) if status != PASS: return FAIL else:

diff -r a2d995514226 -r 9685653189eb suites/libvirt-cim/lib/XenKvmLib/enumclass.py --- a/suites/libvirt-cim/lib/XenKvmLib/enumclass.py Wed Aug 20 14:30:36 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/enumclass.py Fri Aug 22 02:00:25 2008 -0700 @@ -90,9 +90,13 @@ class CIM_DiskResourceAllocationSettingD class CIM_DiskResourceAllocationSettingData(CIM_MyClass): pass
+class Xen_MigrationJob(CIM_MyClass): + pass
+class KVM_MigrationJob(CIM_MyClass): + pass
We don't currently support KVM migration. It's probably fine to leave this here, but just wanted to make the note so that no one mistakenly thinks that we do support it.
-class Virt_MigrationJob(CIM_MyClass): +class XenFV_MigrationJob(CIM_MyClass):
The providers don't use a XenFV_ prefix. -- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com

Kaitlin Rupert wrote:
diff -r a2d995514226 -r 9685653189eb suites/libvirt-cim/lib/XenKvmLib/enumclass.py --- a/suites/libvirt-cim/lib/XenKvmLib/enumclass.py Wed Aug 20 14:30:36 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/enumclass.py Fri Aug 22 02:00:25 2008 -0700 @@ -90,9 +90,13 @@ class CIM_DiskResourceAllocationSettingD class CIM_DiskResourceAllocationSettingData(CIM_MyClass): pass
+class Xen_MigrationJob(CIM_MyClass): + pass
+class KVM_MigrationJob(CIM_MyClass): + pass
We don't currently support KVM migration. It's probably fine to leave this here, but just wanted to make the note so that no one mistakenly thinks that we do support it. Ya thats true. Better I will remove this as of now.
-class Virt_MigrationJob(CIM_MyClass): +class XenFV_MigrationJob(CIM_MyClass):
The providers don't use a XenFV_ prefix. Sorry, I did this by mistake.
Thanks for the review. Regards, Deepti.

# HG changeset patch # User Deepti B. Kalakeri<dkalaker@in.ibm.com> # Date 1219395997 25200 # Node ID f9e7b191ea7c33f5a0f0f63d03bb812f21c5e6e8 # Parent 9685653189eb23d669cd25de192b6cb80308439a [TEST] Fixed 01_migratable_host.py and 02_host_migrate_type.py of VSMigrationService. Signed-off-by: Deepti B. Kalakeri <deeptik@linux.vnet.ibm.com> diff -r 9685653189eb -r f9e7b191ea7c suites/libvirt-cim/cimtest/VirtualSystemMigrationService/01_migratable_host.py --- a/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/01_migratable_host.py Fri Aug 22 02:00:25 2008 -0700 +++ b/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/01_migratable_host.py Fri Aug 22 02:06:37 2008 -0700 @@ -68,6 +68,7 @@ def start_guest_get_ref(ip, guest_name, @do_main(sup_types) def main(): options = main.options + virt = options.virt status = PASS rc = -1 @@ -85,14 +86,13 @@ def main(): else: local_migrate = 0 - status, cs_ref, cxml = start_guest_get_ref(options.ip, dom_name, options.virt) + status, cs_ref, cxml = start_guest_get_ref(options.ip, dom_name, virt) if status != PASS: cxml.destroy(options.ip) cxml.undefine(options.ip) return FAIL guest_name = cs_ref['Name'] - status = check_possible_host_migration(service, cs_ref, target_ip) if status != PASS: cxml.destroy(options.ip) @@ -108,9 +108,8 @@ def main(): return status elif len(ret) == 2: id = ret[1]['Job'].keybindings['InstanceID'] - status = check_migration_job(options.ip, id, target_ip, - guest_name, local_migrate) + guest_name, local_migrate, virt) cxml.destroy(options.ip) cxml.undefine(options.ip) diff -r 9685653189eb -r f9e7b191ea7c suites/libvirt-cim/cimtest/VirtualSystemMigrationService/02_host_migrate_type.py --- a/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/02_host_migrate_type.py Fri Aug 22 02:00:25 2008 -0700 +++ b/suites/libvirt-cim/cimtest/VirtualSystemMigrationService/02_host_migrate_type.py Fri Aug 22 02:06:37 2008 -0700 @@ -29,7 +29,8 @@ from XenKvmLib.common_util import poll_f from XenKvmLib.common_util import poll_for_state_change from XenKvmLib import computersystem from XenKvmLib import vsmigrations -from XenKvmLib.vsmigrations import check_possible_host_migration, migrate_guest_to_host, check_migration_job +from XenKvmLib.vsmigrations import check_possible_host_migration, \ +migrate_guest_to_host, check_migration_job from XenKvmLib import enumclass from CimTest.Globals import logger, CIM_ERROR_ENUMERATE, do_main from CimTest.ReturnCodes import PASS, FAIL, XFAIL @@ -116,6 +117,7 @@ def main(): options = main.options status = PASS rc = -1 + virt = options.virt try: service = vsmigrations.Xen_VirtualSystemMigrationService(options.ip) @@ -136,7 +138,7 @@ def main(): ref_list = [] cs_ref = None - status, ref_list = setup_env(options.ip, mlist, local_migrate, options.virt) + status, ref_list = setup_env(options.ip, mlist, local_migrate, virt) if status != PASS or len(ref_list) < 1: return FAIL @@ -145,7 +147,7 @@ def main(): for type, item in mlist.iteritems(): guest_name = cs_ref['Name'] - status, cxml = start_guest(options.ip, guest_name, type, options.virt) + status, cxml = start_guest(options.ip, guest_name, type, virt) if status != PASS: break @@ -166,7 +168,7 @@ def main(): id = ret[1]['Job'].keybindings['InstanceID'] status = check_migration_job(options.ip, id, target_ip, - guest_name, local_migrate) + guest_name, local_migrate, virt) if status != PASS: break
participants (3)
-
Deepti B Kalakeri
-
Deepti B. Kalakeri
-
Kaitlin Rupert