From yunguol at cn.ibm.com Mon Jun 2 01:36:35 2008 From: yunguol at cn.ibm.com (Guo Lian Yun) Date: Mon, 2 Jun 2008 09:36:35 +0800 Subject: [Libvirt-cim] [PATCH] [TEST] Resubmit ElementConforms.01&03&04 for LXC support In-Reply-To: <48404871.6010904@linux.vnet.ibm.com> Message-ID: libvirt-cim-bounces at redhat.com wrote on 2008-05-31 02:33:21: > yunguol at cn.ibm.com wrote: > > # HG changeset patch > > # User Guolian Yun > > # Date 1212115646 -28800 > > # Node ID 25c2af6bfccc73196fff0ce96f7162b8b22d0057 > > # Parent 3ac66cf562f082546883c1de0d748471b557cd39 > > [TEST] Resubmit ElementConforms.01&03&04 for LXC support > > > > Signed-off-by: Guolian Yun > > wbemcli ain -ac LXC_ElementConformsToProfile > 'http://localhost:5988/root/virt:LXC_HostSystem. > CreationClassName="LXC_HostSystem",Name="elm3b41"' > > This query doesn't return any records, which is why I think I saw a > problem. Does this work for you on your system? It does work for me, and below is the output of this query. localhost:5988/root/virt:LXC_RegisteredProfile.InstanceID="CIM:DSP1042-SystemVirtualization-1.0.0" > -- > Kaitlin Rupert > IBM Linux Technology Center > kaitlin at linux.vnet.ibm.com > > _______________________________________________ > Libvirt-cim mailing list > Libvirt-cim at redhat.com > https://www.redhat.com/mailman/listinfo/libvirt-cim -------------- next part -------------- An HTML attachment was scrubbed... URL: From zli at linux.vnet.ibm.com Mon Jun 2 07:11:09 2008 From: zli at linux.vnet.ibm.com (Zhengang Li) Date: Mon, 02 Jun 2008 15:11:09 +0800 Subject: [Libvirt-cim] Website and code repo down? Message-ID: <48439D0D.4010006@linux.vnet.ibm.com> It seems that all service under the 'libvirt.org' is down today. Daniel, Can you please check the server status? -- - Zhengang From veillard at redhat.com Mon Jun 2 09:36:24 2008 From: veillard at redhat.com (Daniel Veillard) Date: Mon, 2 Jun 2008 05:36:24 -0400 Subject: [Libvirt-cim] Website and code repo down? In-Reply-To: <48439D0D.4010006@linux.vnet.ibm.com> References: <48439D0D.4010006@linux.vnet.ibm.com> Message-ID: <20080602093623.GA18371@redhat.com> On Mon, Jun 02, 2008 at 03:11:09PM +0800, Zhengang Li wrote: > It seems that all service under the 'libvirt.org' is down today. > > Daniel, > > Can you please check the server status? Yes sorry, we got a nice Oops from the kernel, and a filesystem corruption required a manual intervention to restart it. It should be back up, and the kernel bug has been logged :-) Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From yunguol at cn.ibm.com Mon Jun 2 10:09:19 2008 From: yunguol at cn.ibm.com (Guo Lian Yun) Date: Mon, 2 Jun 2008 18:09:19 +0800 Subject: [Libvirt-cim] [TEST] Cimtest Report for LXC (2008/06/02) Message-ID: stro: Fedora 9 Beta Kernel: 2.6.25-0.121.rc5.git4.fc9 Libvirt: 0.4.2 CIMOM: 2.7.0-6.fc9 PyWBEM: 0.6-1 libcmpiutil: changeset-79 libvirt-cim: changeset-598 cimtest: changeset-171 ===================== CIMTEST REPORT=============================== AllocationCapabilities - 01_enum.py: PASS AllocationCapabilities - 02_alloccap_gi_errs.py: PASS ComputerSystem - 01_enum.py: PASS ComputerSystem - 02_nosystems.py: PASS ComputerSystem - 03_defineVS.py: PASS ComputerSystem - 04_defineStartVS.py: SKIP ComputerSystem - 05_activate_defined_start.py: XFAIL Bug: 00002 ComputerSystem - 06_paused_active_suspend.py: SKIP ComputerSystem - 22_define_suspend.py: PASS ComputerSystem - 23_suspend_suspend.py: SKIP ComputerSystem - 27_define_suspend_errs.py: SKIP ComputerSystem - 32_start_reboot.py: SKIP ComputerSystem - 33_suspend_reboot.py: SKIP ComputerSystem - 35_start_reset.py: SKIP ComputerSystem - 40_RSC_start.py: SKIP ComputerSystem - 41_cs_to_settingdefinestate.py: SKIP ComputerSystem - 42_cs_gi_errs.py: SKIP ComputerSystemIndication - 01_created_indication.py: SKIP ElementAllocatedFromPool - 01_forward.py: SKIP ElementAllocatedFromPool - 02_reverse.py: SKIP ElementAllocatedFromPool - 03_reverse_errs.py: SKIP ElementAllocatedFromPool - 04_forward_errs.py: SKIP ElementCapabilities - 01_forward.py: SKIP ElementCapabilities - 02_reverse.py: SKIP ElementCapabilities - 03_forward_errs.py: SKIP ElementCapabilities - 04_reverse_errs.py: SKIP ElementCapabilities - 05_hostsystem_cap.py: SKIP ElementConforms - 01_forward.py: SKIP ElementConforms - 02_reverse.py: SKIP ElementConforms - 03_ectp_fwd_errs.py: SKIP ElementConforms - 04_ectp_rev_errs.py: SKIP ElementSettingData - 01_forward.py: PASS ElementSettingData - 03_esd_assoc_with_rasd_errs.py: SKIP EnabledLogicalElementCapabilities - 01_enum.py: PASS EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS HostSystem - 01_enum.py: PASS HostSystem - 02_hostsystem_to_rasd.py: SKIP HostSystem - 03_hs_to_settdefcap.py: SKIP HostSystem - 04_hs_to_EAPF.py: SKIP HostSystem - 05_hs_gi_errs.py: PASS HostSystem - 06_hs_to_vsms.py: SKIP HostedDependency - 01_forward.py: PASS HostedDependency - 02_reverse.py: PASS HostedDependency - 03_enabledstate.py: SKIP 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 LogicalDisk - 01_disk.py: SKIP LogicalDisk - 02_nodevs.py: SKIP LogicalDisk - 03_ld_gi_errs.py: SKIP Memory - 01_memory.py: PASS Memory - 02_defgetmem.py: SKIP Memory - 03_mem_gi_errs.py: PASS NetworkPort - 01_netport.py: SKIP NetworkPort - 02_np_gi_errors.py: SKIP NetworkPort - 03_user_netport.py: SKIP Processor - 01_processor.py: SKIP Processor - 02_definesys_get_procs.py: SKIP Processor - 03_proc_gi_errs.py: SKIP Profile - 01_enum.py: PASS Profile - 02_profile_to_elec.py: SKIP Profile - 03_rprofile_gi_errs.py: PASS RASD - 01_verify_rasd_fields.py: SKIP RASD - 02_enum.py: SKIP RASD - 03_rasd_errs.py: SKIP ReferencedProfile - 01_verify_refprof.py: PASS ReferencedProfile - 02_refprofile_errs.py: PASS ResourceAllocationFromPool - 01_forward.py: SKIP ResourceAllocationFromPool - 02_reverse.py: SKIP ResourceAllocationFromPool - 03_forward_errs.py: SKIP ResourceAllocationFromPool - 04_reverse_errs.py: SKIP ResourceAllocationFromPool - 05_RAPF_err.py: SKIP ResourcePool - 01_enum.py: SKIP ResourcePool - 02_rp_gi_errors.py: SKIP ResourcePoolConfigurationCapabilities - 01_enum.py: PASS ResourcePoolConfigurationCapabilities - 02_rpcc_gi_errs.py: PASS ResourcePoolConfigurationService - 01_enum.py: SKIP ResourcePoolConfigurationService - 02_rcps_gi_errors.py: SKIP ResourcePoolConfigurationService - 03_CreateResourcePool.py: SKIP ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: SKIP ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: SKIP ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py: SKIP ResourcePoolConfigurationService - 07_DeleteResourcePool.py: SKIP SettingsDefine - 01_forward.py: SKIP SettingsDefine - 02_reverse.py: SKIP SettingsDefine - 03_sds_fwd_errs.py: SKIP SettingsDefine - 04_sds_rev_errs.py: SKIP SettingsDefineCapabilities - 01_forward.py: SKIP SettingsDefineCapabilities - 03_forward_errs.py: SKIP SettingsDefineCapabilities - 04_forward_vsmsdata.py: SKIP SettingsDefineCapabilities - 05_reverse_vsmcap.py: SKIP SystemDevice - 01_forward.py: SKIP SystemDevice - 02_reverse.py: SKIP SystemDevice - 03_fwderrs.py: SKIP VSSD - 01_enum.py: SKIP VSSD - 02_bootldr.py: SKIP VSSD - 03_vssd_gi_errs.py: SKIP VSSD - 04_vssd_to_rasd.py: SKIP VirtualSystemManagementCapabilities - 01_enum.py: SKIP VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: SKIP VirtualSystemManagementService - 01_definesystem_name.py: SKIP VirtualSystemManagementService - 02_destroysystem.py: SKIP VirtualSystemManagementService - 03_definesystem_ess.py: SKIP VirtualSystemManagementService - 04_definesystem_ers.py: SKIP VirtualSystemManagementService - 05_destroysystem_neg.py: SKIP VirtualSystemManagementService - 06_addresource.py: SKIP VirtualSystemManagementService - 07_addresource_neg.py: SKIP VirtualSystemManagementService - 08_modifyresource.py: SKIP 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 VirtualSystemMigrationSettingData - 01_enum.py: SKIP VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: SKIP VirtualSystemSettingDataComponent - 01_forward.py: SKIP VirtualSystemSettingDataComponent - 02_reverse.py: SKIP VirtualSystemSettingDataComponent - 03_vssdc_fwd_errs.py: SKIP VirtualSystemSettingDataComponent - 04_vssdc_rev_errs.py: SKIP 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 Best, Regards Daisy (???) VSM Team, China Systems & Technology Labs (CSTL) E-mail: yunguol at cn.ibm.com TEL: (86)-21-60922144 Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203 -------------- next part -------------- An HTML attachment was scrubbed... URL: From yunguol at cn.ibm.com Mon Jun 2 10:18:26 2008 From: yunguol at cn.ibm.com (Guo Lian Yun) Date: Mon, 2 Jun 2008 18:18:26 +0800 Subject: [Libvirt-cim] [TEST] CimTest Report for KVM on F9 (2008/06/02) Message-ID: stro: Fedora 9 Beta Kernel: 2.6.25-0.121.rc5.git4.fc9 Libvirt: 0.4.1-7.fc9 CIMOM: 2.7.0-6.fc9 PyWBEM: 0.6-1 libcmpiutil: 0.3-1.fc9 libvirt-cim: 0.3-4.fc9 cimtest: changeset-171 =================== FAIL =========================================== ComputerSystemIndication - 01_created_indication.py: FAIL ElementConforms - 02_reverse.py: FAIL ElementSettingData - 03_esd_assoc_with_rasd_errs.py: FAIL HostSystem - 02_hostsystem_to_rasd.py: FAIL NetworkPort - 01_netport.py: FAIL NetworkPort - 03_user_netport.py: FAIL RASD - 01_verify_rasd_fields.py: FAIL ResourceAllocationFromPool - 05_RAPF_err.py: FAIL VirtualSystemManagementService - 08_modifyresource.py: FAIL ========FULL CIMTEST REPORT=PASS(95)=FAIL(9)=SKIP(18)=XFAIL(7)======= AllocationCapabilities - 01_enum.py: PASS AllocationCapabilities - 02_alloccap_gi_errs.py: PASS ComputerSystem - 01_enum.py: PASS ComputerSystem - 02_nosystems.py: PASS ComputerSystem - 03_defineVS.py: PASS ComputerSystem - 04_defineStartVS.py: PASS ComputerSystem - 05_activate_defined_start.py: XFAIL Bug: 00002 ComputerSystem - 06_paused_active_suspend.py: XFAIL Bug: 00002 ComputerSystem - 22_define_suspend.py: PASS ComputerSystem - 23_suspend_suspend.py: SKIP ComputerSystem - 27_define_suspend_errs.py: SKIP ComputerSystem - 32_start_reboot.py: SKIP ComputerSystem - 33_suspend_reboot.py: SKIP ComputerSystem - 35_start_reset.py: SKIP ComputerSystem - 40_RSC_start.py: XFAIL Bug: 00001 InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Domain Operation Failed Bug:<00001> ComputerSystem - 41_cs_to_settingdefinestate.py: SKIP ComputerSystem - 42_cs_gi_errs.py: PASS ComputerSystemIndication - 01_created_indication.py: FAIL ElementAllocatedFromPool - 01_forward.py: SKIP ElementAllocatedFromPool - 02_reverse.py: SKIP ElementAllocatedFromPool - 03_reverse_errs.py: XFAIL Bug: 88651 ElementAllocatedFromPool - 04_forward_errs.py: XFAIL Bug: 88651 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: FAIL ElementConforms - 03_ectp_fwd_errs.py: XFAIL Bug: 92642 Bug:<92642> Bug:<92642> ElementConforms - 04_ectp_rev_errs.py: XFAIL Bug: 92642 Bug:<92642> Bug:<92642> Bug:<92642> Bug:<92642> Bug:<92642> Bug:<92642> Bug:<92642> Bug:<92642> ElementSettingData - 01_forward.py: PASS ElementSettingData - 03_esd_assoc_with_rasd_errs.py: FAIL EnabledLogicalElementCapabilities - 01_enum.py: PASS EnabledLogicalElementCapabilities - 02_elecap_gi_errs.py: PASS HostSystem - 01_enum.py: PASS HostSystem - 02_hostsystem_to_rasd.py: FAIL HostSystem - 03_hs_to_settdefcap.py: PASS HostSystem - 04_hs_to_EAPF.py: SKIP HostSystem - 05_hs_gi_errs.py: PASS HostSystem - 06_hs_to_vsms.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 LogicalDisk - 01_disk.py: PASS LogicalDisk - 02_nodevs.py: PASS LogicalDisk - 03_ld_gi_errs.py: PASS Memory - 01_memory.py: PASS Memory - 02_defgetmem.py: PASS Memory - 03_mem_gi_errs.py: PASS NetworkPort - 01_netport.py: FAIL NetworkPort - 02_np_gi_errors.py: PASS NetworkPort - 03_user_netport.py: FAIL 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: SKIP Profile - 03_rprofile_gi_errs.py: SKIP RASD - 01_verify_rasd_fields.py: FAIL RASD - 02_enum.py: PASS RASD - 03_rasd_errs.py: PASS ReferencedProfile - 01_verify_refprof.py: SKIP ReferencedProfile - 02_refprofile_errs.py: SKIP 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: FAIL 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 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: FAIL 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 VirtualSystemMigrationSettingData - 01_enum.py: PASS VirtualSystemMigrationSettingData - 02_vsmsd_gi_errs.py: PASS VirtualSystemSettingDataComponent - 01_forward.py: SKIP 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 Best, Regards Daisy (???) VSM Team, China Systems & Technology Labs (CSTL) E-mail: yunguol at cn.ibm.com TEL: (86)-21-60922144 Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203 -------------- next part -------------- An HTML attachment was scrubbed... URL: From deeptik at linux.vnet.ibm.com Mon Jun 2 13:38:09 2008 From: deeptik at linux.vnet.ibm.com (Deepti B. Kalakeri) Date: Mon, 02 Jun 2008 06:38:09 -0700 Subject: [Libvirt-cim] [PATCH] [TEST] Fixing 02_reverse.py of RAPF Message-ID: # HG changeset patch # User Deepti B. Kalakeri # Date 1212413727 25200 # Node ID d478234fefe940f0ef738bbb83e6a3ab32736bec # Parent 4a5a44d7b857df543af24d59380cb8fdbbb753a4 [TEST] Fixing 02_reverse.py of RAPF. Added the following extra steps: 1) Defining a domain. 2) creating diskpool, netpool. Without the steps 1 and 2 the tc used to simply pass. The tc will fail on KVM with old libvirt-cim rpm as expected and will pass with the latest source. Signed-off-by: Deepti B. Kalakeri diff -r 4a5a44d7b857 -r d478234fefe9 suites/libvirt-cim/cimtest/ResourceAllocationFromPool/02_reverse.py --- a/suites/libvirt-cim/cimtest/ResourceAllocationFromPool/02_reverse.py Fri May 30 14:26:38 2008 +0800 +++ b/suites/libvirt-cim/cimtest/ResourceAllocationFromPool/02_reverse.py Mon Jun 02 06:35:27 2008 -0700 @@ -6,6 +6,7 @@ # Guolian Yun # Kaitlin Rupert # Zhengang Li +# Deepti B. Kalakeri # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public @@ -25,69 +26,164 @@ import sys import sys from VirtLib import utils from XenKvmLib import assoc -from XenKvmLib import devices +from XenKvmLib.test_doms import destroy_and_undefine_all +from XenKvmLib.vxml import get_class from XenKvmLib.classes import get_typed_class +from XenKvmLib.const import CIM_REV from CimTest import Globals from CimTest.Globals import logger, do_main -from CimTest.ReturnCodes import PASS, FAIL, XFAIL +from CimTest.ReturnCodes import PASS, FAIL +from XenKvmLib import enumclass +from XenKvmLib.common_util import cleanup_restore, create_diskpool_conf, \ +create_netpool_conf + sup_types = ['Xen', 'XenFV', 'KVM'] +test_dom = "RAFP_dom" +test_vcpus = 1 +test_mem = 128 +test_mac = "00:11:22:33:44:aa" +proc_instid_rev = 590 + +def setup_env(server, virt): + destroy_and_undefine_all(server) + vsxml = None + if virt == "Xen": + test_disk = "xvda" + else: + test_disk = "hda" + + virtxml = get_class(virt) + vsxml = virtxml(test_dom, mem=test_mem, vcpus = test_vcpus, + mac = test_mac, disk = test_disk) + try: + ret = vsxml.define(server) + if not ret: + logger.error("Failed to Define the domain: %s", test_dom) + return FAIL, vsxml, test_disk + + except Exception, details: + logger.error("Exception : %s", details) + return FAIL, vsxml, test_disk + + return PASS, vsxml, test_disk + +def init_list(test_disk, diskid, test_network): + + if CIM_REV < proc_instid_rev: + procid = '%s/%s' % (test_dom, 0) + else: + procid = '%s/%s' % (test_dom, 'proc') + + proc = { 'rasd_id' : procid, + 'pool_id' : 'ProcessorPool/0' + } + + mem = { 'rasd_id' : '%s/%s' % (test_dom,'mem'), + 'pool_id' : 'MemoryPool/0' + } + + net = { + 'rasd_id' : '%s/%s' % (test_dom, test_mac), + 'pool_id' : 'NetworkPool/%s' %test_network + } + + disk = { 'rasd_id' : '%s/%s' % (test_dom, test_disk), + 'pool_id' : diskid + } + + cn_id_list = { + 'MemResourceAllocationSettingData' : mem, + 'ProcResourceAllocationSettingData' : proc, + 'NetResourceAllocationSettingData' : net, + 'DiskResourceAllocationSettingData' : disk + } + + return cn_id_list + +def get_rasd_instance(server, virt, key_list, cn): + inst = None + try: + inst = enumclass.getInstance(server, cn, key_list, virt) + except Exception, details: + logger.error(Globals.CIM_ERROR_GETINSTANCE, cn) + logger.error("Exception details: %s", details) + return inst, FAIL + + return inst, PASS + +def verify_pool_from_RAFP(server, virt, inst, pool_id, cn): + pool = [] + try: + pool = assoc.AssociatorNames(server, "ResourceAllocationFromPool", + cn, virt, InstanceID = inst.InstanceID) + except Exception: + logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES, inst.InstanceID) + return FAIL + + if len(pool) != 1: + logger.error("No associated pool for %s", inst.InstanceID) + return FAIL + + if pool[0]['InstanceID'] != pool_id: + logger.error("InstanceID Mismatch") + logger.error("Returned %s instead of %s", pool[0]['InstanceID'] , + pool_id) + return FAIL + + return PASS + +def get_rasdinst_verify_pool_from_RAFP(server, virt, vsxml, cn, id_info): + try: + key_list = { 'InstanceID' : id_info['rasd_id'] } + rasd_cn = get_typed_class(virt, cn) + rasdinst, status = get_rasd_instance(server, virt, key_list, rasd_cn) + if status != PASS or rasdinst.InstanceID == None: + vsxml.undefine(server) + return status + + status = verify_pool_from_RAFP(server, virt, rasdinst, + id_info['pool_id'], cn) + except Exception, details: + logger.error("Exception in get_rasdinst_verify_pool_from_RAFP() fn") + logger.error("Exception Details %s", details) + status = FAIL + + if status != PASS: + vsxml.undefine(server) + + return status + @do_main(sup_types) def main(): options = main.options status = PASS + server = options.ip + virt = options.virt + + status, vsxml, test_disk = setup_env(server, virt) + if status != PASS: + return status - key_list = ["DeviceID", "CreationClassName", "SystemName", - "SystemCreationClassName"] - try: - mem = devices.enumerate(options.ip, 'Memory', key_list, options.virt) - except Exception: - logger.error(Globals.CIM_ERROR_ENUMERATE % 'Memory') - return FAIL + status, diskid = create_diskpool_conf(server, virt) + if status != PASS: + return status - try: - proc = devices.enumerate(options.ip, 'Processor', key_list, options.virt) - except Exception: - logger.error(Globals.CIM_ERROR_ENUMERATE % 'Processor') - return FAIL - - for i in range(len(mem)): - try: - mempool = assoc.AssociatorNames(options.ip, "ResourceAllocationFromPool", - "MemResourceAllocationSettingData", - options.virt, - InstanceID = mem[i].DeviceID) - except Exception: - logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES % mem[i].DeviceID) - status = FAIL + status, test_network = create_netpool_conf(server, virt) + if status != PASS: + return status - if len(mempool) < 1: - logger.error("No associated pool for %s" % mem[i].DeviceID) - return FAIL + cn_id_list = init_list(test_disk, diskid, test_network) - if mempool[0].keybindings['InstanceID'] != "MemoryPool/0": - logger.error("MemResourceAllocationSettingData association error") - return FAIL - - for j in range(len(proc)): - try: - procpool = assoc.AssociatorNames(options.ip, "ResourceAllocationFromPool", - "ProcResourceAllocationSettingData", - options.virt, - InstanceID = proc[j].DeviceID) - except Exception: - logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES % proc[j].DeviceID) - return FAIL - - if len(procpool) < 1: - logger.error("No associated pool for %s" % proc[j].DeviceID) - return FAIL + for rasd_cn, id_info in cn_id_list.iteritems(): + status = get_rasdinst_verify_pool_from_RAFP(server, virt, vsxml, + rasd_cn, id_info) + if status != PASS: + return status - if procpool[0].keybindings['InstanceID'] != "ProcessorPool/0": - logger.error("ProcResourceAllocationSettingData association failed") - status = FAIL - + cleanup_restore(server, virt) + vsxml.undefine(server) return status if __name__ == "__main__": From deeptik at linux.vnet.ibm.com Mon Jun 2 13:31:48 2008 From: deeptik at linux.vnet.ibm.com (Deepti B Kalakeri) Date: Mon, 02 Jun 2008 19:01:48 +0530 Subject: [Libvirt-cim] [PATCH] [TEST] Fixing 02_reverse.py of RAPF In-Reply-To: <483F2E36.2030700@linux.vnet.ibm.com> References: <9fae4065c84575412d10.1212068887@elm3b216.beaverton.ibm.com> <483F2E36.2030700@linux.vnet.ibm.com> Message-ID: <4843F644.1090805@linux.vnet.ibm.com> Kaitlin Rupert wrote: >> diff -r 3ac66cf562f0 -r 9fae4065c845 >> suites/libvirt-cim/cimtest/ResourceAllocationFromPool/02_reverse.py > > This fails for me on latest sources running with KVM: > > ResourceAllocationFromPool - 02_reverse.py: FAIL > ERROR - No associated pool for demo2/hda > CIM_ERR_FAILED: Unable to determine pool of `demo2/hda' > > demo2 is a KVM guest that I have defined. What could be the circumstances in which the provider is unable to determine the pool type ? Because I had more than one doms created and the same tc passed. Btw I have submitted the changes that for the tc. > > You'll want to make sure that the RASD you're verifying is the RASD > that matches the guest you've defined. > >> + >> +def get_rasd_or_pool_instid(server, virt, cn): >> + key_list = ["InstanceID"] >> + inst = [] >> + try: >> + inst = enumclass.enumerate(server, cn, key_list, virt) >> + except Exception: >> + logger.error(Globals.CIM_ERROR_ENUMERATE, cn) >> + return inst, FAIL >> + return inst, PASS > > Instead of enumerating the RASDs and the pools, you can get the > instance of the RASD and pool directly (since you should know the > InstanceID of each). > > That way, you verify that the instance RAFP returns is the exact > instance you're expected it to be. > >> + >> +def get_instance(server, virt, vsxml, cn, pool_list, app_val=0): >> + instances, status = get_rasd_or_pool_instid(server, virt, cn) >> + if status != PASS: >> + vsxml.undefine(server) + return pool_list, status >> + >> + if app_val == 1: >> + for inst in instances: >> + pool_list.append(inst.InstanceID) > > I wouldn't create a list of pools, I'd just do a GetInstance to get > the expected pool instance for each case. > >> + return instances, pool_list, status >> + >> + >> +def verify_pool_from_RAPF(server, virt, instances, pool_instid_list, >> cn): > > This should be RAFP, not RAPF. > >> + pool = [] >> + for inst in instances: >> + try: >> + pool = assoc.AssociatorNames(server, "ResourceAllocationFromPool", >> + cn, virt, InstanceID = inst.InstanceID) >> + except Exception: >> + logger.error(Globals.CIM_ERROR_ASSOCIATORNAMES, inst.InstanceID) >> + status = FAIL >> + >> + if len(pool) < 1: >> + logger.error("No associated pool for %s", inst.InstanceID) >> + return FAIL >> + >> + if not pool[0]['InstanceID'] in pool_instid_list: > > I'd do an exact match here. You should be doing a 1 to 1 comparison on > InstanceIDs. > > >> + status = get_inst_verify_pool_from_RAPF(server, virt, vsxml, >> 'MemoryPool', + 'MemResourceAllocationSettingData') >> + if status != PASS: >> + return status > > > If you need to call get_inst_verify_pool_from_RAPF() for each > Pool/RASD type, you can create a list/dictionary with the argument > information. You can then create a for loop that walks through the > dictionary, that way you don't have to repeat the code block above 4 > times. > > Something like: > > arg_list = { 'MemoryPool' : 'MemResourceAllocationSettingData', > ... > } > > for pool_cn, rasd_cn in arg_list.iteritems(): > status = get_inst_verify_pool_from_RAPF(server, virt, vsxml, pool_cn, > rasd_cn) > if status != PASS: > return status > From danms at us.ibm.com Mon Jun 2 14:12:18 2008 From: danms at us.ibm.com (Dan Smith) Date: Mon, 02 Jun 2008 07:12:18 -0700 Subject: [Libvirt-cim] [PATCH] [TEST] #2 Make RHEL 5 XenFV guest grub conf use hda In-Reply-To: (Kaitlin Rupert's message of "Fri, 30 May 2008 16:30:58 -0700") References: Message-ID: <87fxrwj58d.fsf@caffeine.beaverton.ibm.com> KR> +CUR_QEMU_VER=`strings /usr/lib64/xen/bin/qemu-dm | awk '/version [0-9]/ { print $5; }' | sed 's/,//' | sed 's/\.//g'` Perhaps we should handle the 32-bit variant as well? -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms at us.ibm.com -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 188 bytes Desc: not available URL: From kaitlin at linux.vnet.ibm.com Mon Jun 2 14:20:59 2008 From: kaitlin at linux.vnet.ibm.com (Kaitlin Rupert) Date: Mon, 02 Jun 2008 07:20:59 -0700 Subject: [Libvirt-cim] [PATCH] [TEST] #2 Make RHEL 5 XenFV guest grub conf use hda In-Reply-To: <87fxrwj58d.fsf@caffeine.beaverton.ibm.com> References: <87fxrwj58d.fsf@caffeine.beaverton.ibm.com> Message-ID: <484401CB.5010005@linux.vnet.ibm.com> Dan Smith wrote: > KR> +CUR_QEMU_VER=`strings /usr/lib64/xen/bin/qemu-dm | awk '/version [0-9]/ { print $5; }' | sed 's/,//' | sed 's/\.//g'` > > Perhaps we should handle the 32-bit variant as well? > Oops - yes. Good call =) -- Kaitlin Rupert IBM Linux Technology Center kaitlin at linux.vnet.ibm.com From kaitlin at linux.vnet.ibm.com Mon Jun 2 14:42:35 2008 From: kaitlin at linux.vnet.ibm.com (Kaitlin Rupert) Date: Mon, 02 Jun 2008 07:42:35 -0700 Subject: [Libvirt-cim] [PATCH] [TEST] Fixing 02_reverse.py of RAPF In-Reply-To: <4843F644.1090805@linux.vnet.ibm.com> References: <9fae4065c84575412d10.1212068887@elm3b216.beaverton.ibm.com> <483F2E36.2030700@linux.vnet.ibm.com> <4843F644.1090805@linux.vnet.ibm.com> Message-ID: <484406DB.5030605@linux.vnet.ibm.com> Deepti B Kalakeri wrote: > > > Kaitlin Rupert wrote: >>> diff -r 3ac66cf562f0 -r 9fae4065c845 >>> suites/libvirt-cim/cimtest/ResourceAllocationFromPool/02_reverse.py >> >> This fails for me on latest sources running with KVM: >> >> ResourceAllocationFromPool - 02_reverse.py: FAIL >> ERROR - No associated pool for demo2/hda >> CIM_ERR_FAILED: Unable to determine pool of `demo2/hda' >> >> demo2 is a KVM guest that I have defined. > What could be the circumstances in which the provider is unable to > determine the pool type ? Because I had more than one doms created and > the same tc passed. cimtest creates a pool for images in /tmp. The guest I have defined has its image in /boot. However, I don't have a pool defined for /boot, so it's disk device doesn't belong to any pool. > Btw I have submitted the changes that for the tc. -- Kaitlin Rupert IBM Linux Technology Center kaitlin at linux.vnet.ibm.com From kaitlin at linux.vnet.ibm.com Mon Jun 2 16:35:29 2008 From: kaitlin at linux.vnet.ibm.com (Kaitlin Rupert) Date: Mon, 02 Jun 2008 09:35:29 -0700 Subject: [Libvirt-cim] [PATCH] [TEST] #3 Make RHEL 5 XenFV guest grub conf use hda Message-ID: <8e103fd87b6b284a9b64.1212424529@elm3b41.beaverton.ibm.com> # HG changeset patch # User Kaitlin Rupert # Date 1211564341 25200 # Node ID 8e103fd87b6b284a9b646e44fbf67441008ba3ba # Parent 4a5a44d7b857df543af24d59380cb8fdbbb753a4 [TEST] #3 Make RHEL 5 XenFV guest grub conf use hda. It looks like qemu on RHEL emulates an ide drive, not a scsi drive. Update from 1 to 2: -Instead of using distro, use qemu-dm version. Update from 2 to 3: -Handle case where qemu-dm is 32 bit, as well as 64 bit. Signed-off-by: Kaitlin Rupert diff -r 4a5a44d7b857 -r 8e103fd87b6b suites/libvirt-cim/images/xmt-makefv.sh --- a/suites/libvirt-cim/images/xmt-makefv.sh Fri May 30 14:26:38 2008 +0800 +++ b/suites/libvirt-cim/images/xmt-makefv.sh Fri May 23 10:39:01 2008 -0700 @@ -14,6 +14,20 @@ PARTED="parted -s" TMPMOUNT=/tmp/cimtest_image_temp SIZE=16 +QEMU_VER=082 +QEMU_FILE="" + +if [ -e "/usr/lib64/xen/bin/qemu-dm" ]; then + QEMU_FILE="/usr/lib64/xen/bin/qemu-dm" +elif [ -e "/usr/lib64/xen/bin/qemu-dm" ]; then + QEMU_FILE="/usr/lib/xen/bin/qemu-dm" +fi + +if [ -z $QEMU_FILE ]; then + CU_QEMU_VER=0 +else + CUR_QEMU_VER=`strings $QEMU_FILE | awk '/version [0-9]/ { print $5; }' | sed 's/,//' | sed 's/\.//g'` +fi die() { echo "FAILED: $i" >&2 @@ -110,10 +124,19 @@ timeout 1 title Test Environment root (hd0,0) +EOF + +if [ $CUR_QEMU_VER -lt $QEMU_VER ]; then + cat >>${root}/grub/grub.conf <>${root}/grub/grub.conf < (Kaitlin Rupert's message of "Mon, 02 Jun 2008 09:35:29 -0700") References: <8e103fd87b6b284a9b64.1212424529@elm3b41.beaverton.ibm.com> Message-ID: <871w3fkcsh.fsf@caffeine.beaverton.ibm.com> KR> +if [ -e "/usr/lib64/xen/bin/qemu-dm" ]; then KR> + QEMU_FILE="/usr/lib64/xen/bin/qemu-dm" KR> +elif [ -e "/usr/lib64/xen/bin/qemu-dm" ]; then KR> + QEMU_FILE="/usr/lib/xen/bin/qemu-dm" KR> +fi I still don't think this works for 32-bit :) -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms at us.ibm.com -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 188 bytes Desc: not available URL: From kaitlin at linux.vnet.ibm.com Mon Jun 2 16:58:28 2008 From: kaitlin at linux.vnet.ibm.com (Kaitlin Rupert) Date: Mon, 02 Jun 2008 09:58:28 -0700 Subject: [Libvirt-cim] [PATCH] Allow KVM and Xen to parse both network and bridge interfaces Message-ID: <0c8d4baf3ee1f6eb96f7.1212425908@elm3b41.beaverton.ibm.com> # HG changeset patch # User Kaitlin Rupert # Date 1212155823 25200 # Node ID 0c8d4baf3ee1f6eb96f7d1d49276fa6cc44c4685 # Parent 5b89d6aa5816613627a2869d8c72bde37a9f2e2c Allow KVM and Xen to parse both network and bridge interfaces. Since KVM and Xen guests are both created with network interfaces, there no longer needs to be a seperate function for KVM and Xen. This change allow fixes an error seen when attempting to modify a KVM guest that was created with a non-network inteface (created using a method other than the providers). Even though we don't create guests with bridge type interfaces, we should be able to parse their xmls. This bit of code will probably need to be updated to support other interface types. Signed-off-by: Kaitlin Rupert diff -r 5b89d6aa5816 -r 0c8d4baf3ee1 libxkutil/xmlgen.c --- a/libxkutil/xmlgen.c Fri May 30 06:57:03 2008 -0700 +++ b/libxkutil/xmlgen.c Fri May 30 06:57:03 2008 -0700 @@ -189,7 +189,7 @@ return true; } -static bool xen_net_to_xml(char **xml, struct virt_device *dev) +static bool bridge_net_to_xml(char **xml, struct virt_device *dev) { int ret; char *_xml; @@ -198,10 +198,12 @@ ret = asprintf(&_xml, "\n" + " \n" " \n" "