
Hello all, I had been trying to set up cimtest to work on my machine for a couple of days without success. So yesterday I started to dig the code and found that every command is sent via ssh, even if the test is supposed to run locally. The reason of cimtest not working was exactly that did not have the ssh keys set up properly. By fixing that configuration, I was able to make the test work as expected. :) But I was still intrigued with the fact that every command is sent via ssh, thus taking cimtest a very very long time to complete. So I hacked a simple patch to try to workaround this issue: ===== diff -r d6951b8799a8 lib/VirtLib/utils.py --- a/lib/VirtLib/utils.py Wed May 18 13:49:05 2011 -0400 +++ b/lib/VirtLib/utils.py Fri May 27 07:42:23 2011 -0700 @@ -33,7 +33,8 @@ def run_remote(ip, cmd): - cmd = 'ssh %s -i %s root@%s "%s"' % (SSH_PARMS, SSH_KEY, ip, cmd) + if ip not in ["localhost", "127.0.0.1"]: + cmd = 'ssh %s -i %s root@%s "%s"' % (SSH_PARMS, SSH_KEY, ip, cmd) return commands.getstatusoutput(cmd) def copy_remote(ip, local, remote='/tmp'): ===== As you can see, it is a quick check if 'ip' is neither localhost nor 127.0.0.1, which only in that case the command is sent via ssh. Note that this patch triggers some other issues, which I hope to be able to fix soon. But there is already a *huge increase* in the performance. I have used the most simpler and probably not the most correct measure: $ time && cimtest && time With the following results: Without patch: Fri May 27 06:46:28 PDT 2011 Fri May 27 07:16:17 PDT 2011 With patch: Fri May 27 07:29:06 PDT 2011 Fri May 27 07:34:50 PDT 2011 From 30 minutes down to 6! _BUT_, I can't really tell if it is actually intended that everything runs with ssh. Taking a look on the test results, it is noticeable that cimtest behaves in a different way, as follows. Without path: FAIL : 18 XFAIL : 5 SKIP : 6 PASS : 158 ----------------- Total : 187 ================================================= FAIL Test Summary: ComputerSystem - 04_defineStartVS.py: FAIL ComputerSystemMigrationJobIndication - 01_csmig_ind_for_offline_mig.py: FAIL ElementSettingData - 01_forward.py: FAIL HostSystem - 02_hostsystem_to_rasd.py: FAIL HostSystem - 04_hs_to_EAPF.py: FAIL KVMRedirectionSAP - 02_ipv6_support.py: FAIL Profile - 02_profile_to_elec.py: FAIL Profile - 04_verify_libvirt_cim_slp_profiles.py: FAIL SystemDevice - 01_forward.py: FAIL VirtualSystemManagementService - 13_refconfig_additional_devs.py: FAIL VirtualSystemManagementService - 19_definenetwork_ers.py: FAIL VirtualSystemManagementService - 20_verify_vnc_password.py: FAIL VirtualSystemMigrationService - 06_remote_live_migration.py: FAIL VirtualSystemMigrationService - 07_remote_offline_migration.py: FAIL VirtualSystemMigrationService - 08_remote_restart_resume_migration.py: FAIL VirtualSystemSettingDataComponent - 01_forward.py: FAIL VirtualSystemSettingDataComponent - 02_reverse.py: FAIL VSSD - 04_vssd_to_rasd.py: FAIL ================================================= XFAIL Test Summary: ComputerSystem - 32_start_reboot.py: XFAIL SwitchService - 01_enum.py: XFAIL VirtualSystemManagementService - 22_addmulti_brg_interface.py: XFAIL VirtualSystemManagementService - 28_definesystem_with_vsi_profile.py: XFAIL VirtualSystemManagementService - 30_dynamic_disk_mod.py: XFAIL ================================================= SKIP Test Summary: ComputerSystem - 02_nosystems.py: SKIP LogicalDisk - 02_nodevs.py: SKIP VirtualSystemMigrationService - 01_migratable_host.py: SKIP VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP VSSD - 02_bootldr.py: SKIP With patch: FAIL : 15 XFAIL : 5 SKIP : 10 PASS : 157 ----------------- Total : 187 ================================================= FAIL Test Summary: ComputerSystem - 04_defineStartVS.py: FAIL ComputerSystem - 41_cs_to_settingdefinestate.py: FAIL ElementSettingData - 01_forward.py: FAIL HostSystem - 02_hostsystem_to_rasd.py: FAIL HostSystem - 04_hs_to_EAPF.py: FAIL KVMRedirectionSAP - 02_ipv6_support.py: FAIL Profile - 02_profile_to_elec.py: FAIL Profile - 04_verify_libvirt_cim_slp_profiles.py: FAIL SystemDevice - 01_forward.py: FAIL VirtualSystemManagementService - 06_addresource.py: FAIL VirtualSystemManagementService - 13_refconfig_additional_devs.py: FAIL VirtualSystemManagementService - 20_verify_vnc_password.py: FAIL VirtualSystemSettingDataComponent - 01_forward.py: FAIL VirtualSystemSettingDataComponent - 02_reverse.py: FAIL VSSD - 04_vssd_to_rasd.py: FAIL ================================================= XFAIL Test Summary: ComputerSystem - 32_start_reboot.py: XFAIL SwitchService - 01_enum.py: XFAIL VirtualSystemManagementService - 22_addmulti_brg_interface.py: XFAIL VirtualSystemManagementService - 28_definesystem_with_vsi_profile.py: XFAIL VirtualSystemManagementService - 30_dynamic_disk_mod.py: XFAIL ================================================= SKIP Test Summary: ComputerSystem - 02_nosystems.py: SKIP ComputerSystemMigrationJobIndication - 01_csmig_ind_for_offline_mig.py: SKIP LogicalDisk - 02_nodevs.py: SKIP VirtualSystemMigrationService - 01_migratable_host.py: SKIP VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP VirtualSystemMigrationService - 06_remote_live_migration.py: SKIP VirtualSystemMigrationService - 07_remote_offline_migration.py: SKIP VirtualSystemMigrationService - 08_remote_restart_resume_migration.py: SKIP VSSD - 02_bootldr.py: SKIP I would really appreciate comments from the experts on this issue. IMHO, it is something really worthy and if there are any tests that are required to run remotely, I could work on a proper fix to try to achieve the same results. Best regards, Etrunko -- Eduardo de Barros Lima Software Engineer, Open Virtualization Linux Technology Center - IBM/Brazil eblima@br.ibm.com