From kaitlin at linux.vnet.ibm.com Tue Feb 2 20:18:27 2010 From: kaitlin at linux.vnet.ibm.com (Kaitlin Rupert) Date: Tue, 02 Feb 2010 12:18:27 -0800 Subject: [Libvirt-cim] [PATCH] [TEST] Verify that user can specify target dev for network interfaces In-Reply-To: <4B62AA5B.509@linux.vnet.ibm.com> References: <9affcdf0161c46cabf18.1264723438@elm3b41.beaverton.ibm.com> <4B62AA5B.509@linux.vnet.ibm.com> Message-ID: <4B688893.9050204@linux.vnet.ibm.com> >> + curr_cim_rev, changeset = get_provider_version(options.virt, >> options.ip) >> + if curr_cim_rev < target_dev_rev: >> + logger.error("Network interface target device support is >> available" \ >> + " in rev >= %s", target_dev_rev) >> + return SKIP >> + >> + cxml = get_class(options.virt)(test_dom) >> + >> + target_dev = "vtap7" >> > We can use a random number in the name here. > We cannot create 2 guests which use the same target device name. > The test would have failed had we tried to start the guest with an error > similar to the one below: > libvir: QEMU error : Failed to add tap interface 'vtap7' to bridge > 'testbridge3': Device or resource busy Sorry for the delay on this - excellent point here. > > Can we also start the guest in the test case instead of just defining > the guest ? Sure - this is a good idea. >> + >> + guest_defined = False >> + >> + try: >> + rasd_list = get_rasd_list(options.ip, options.virt, target_dev) >> + if len(rasd_list) < 1: >> + raise Exception("Unable to get template RASDs for %s" % >> test_dom) >> + >> + cxml.set_res_settings(rasd_list) >> + ret = cxml.cim_define(options.ip) >> + if not ret: >> + raise Exception("Unable to define %s" % test_dom) >> + >> + guest_defined = True + >> + status = verify_net_rasd(options.ip, options.virt, >> target_dev, test_dom) >> + if status != PASS: >> + raise Exception("Failed to net interface for %s" % test_dom) >> > small typo, "Failed to net" should have been "Failed to add net" Thanks! Will fix this in the next revision. =) -- Kaitlin Rupert IBM Linux Technology Center kaitlin at linux.vnet.ibm.com From kaitlin at linux.vnet.ibm.com Tue Feb 2 20:31:14 2010 From: kaitlin at linux.vnet.ibm.com (Kaitlin Rupert) Date: Tue, 02 Feb 2010 12:31:14 -0800 Subject: [Libvirt-cim] [PATCH] [TEST] #2 Verify that user can specify target dev for network interfaces Message-ID: # HG changeset patch # User Kaitlin Rupert # Date 1265142620 28800 # Node ID f74f985dfa2a4427ebbde3ab117b2b37463dd762 # Parent 3655b03ada11d9e99a1d10b97aaa7cdb737fc493 [TEST] #2 Verify that user can specify target dev for network interfaces Updates: -Fix typo is error message -Start guest after defining it -Generate a random number to use in the NIC target device name. This will help ensure the device name is unique. Signed-off-by: Kaitlin Rupert diff -r 3655b03ada11 -r f74f985dfa2a suites/libvirt-cim/cimtest/VirtualSystemManagementService/26_definesystem_nic_dev.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/26_definesystem_nic_dev.py Tue Feb 02 12:30:20 2010 -0800 @@ -0,0 +1,147 @@ +#!/usr/bin/python +# +# Copyright 2010 IBM Corp. +# +# Authors: +# Kaitlin Rupert +# +# 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 +# +# Purpose: +# Verify provider's support for specifying the target device for vNICs +# +# Steps: +# 1) Build RASD parameters, making sure to specify target device for network +# interface +# 2) Create guest +# 3) Verify guest is defined properly +# + +import sys +from random import randint +from CimTest.Globals import logger +from CimTest.ReturnCodes import FAIL, PASS, SKIP +from XenKvmLib.classes import get_typed_class, inst_to_mof +from XenKvmLib.rasd import get_default_rasds +from XenKvmLib.const import do_main, get_provider_version +from XenKvmLib.vxml import get_class +from XenKvmLib.common_util import parse_instance_id +from XenKvmLib.enumclass import EnumInstances +from XenKvmLib.xm_virt_util import active_domain_list, domain_list + +sup_types = ['Xen', 'XenFV', 'KVM'] +test_dom = 'rstest_nic' + +target_dev_rev = 1028 + +def get_rasd_list(ip, virt, target_dev): + nrasd_cn = get_typed_class(virt, "NetResourceAllocationSettingData") + + rasds = get_default_rasds(ip, virt) + + rasd_list = {} + + for rasd in rasds: + if rasd.classname == nrasd_cn and "Default" in rasd['InstanceID']: + + rasd['VirtualDevice'] = target_dev + + rasd_list[rasd.classname] = inst_to_mof(rasd) + + return rasd_list + +def verify_net_rasd(ip, virt, target_dev, guest_name): + inst = None + + try: + nrasd_cn = get_typed_class(virt, 'NetResourceAllocationSettingData') + enum_list = EnumInstances(ip, nrasd_cn) + + if enum_list < 1: + raise Exception("No %s instances returned" % nrasd_cn) + + for rasd in enum_list: + guest, dev, status = parse_instance_id(rasd.InstanceID) + if status != PASS: + raise Exception("Unable to parse InstanceID: %s" % \ + rasd.InstanceID) + + if guest == guest_name: + inst = rasd + break + + if inst is None: + raise Exception("%s instance for %s not found" % (nrasd_cn, + guest_name)) + + if inst.VirtualDevice != target_dev: + raise Exception("Expected VirtualDevice to be %s" % target_dev) + + except Exception, details: + logger.error(details) + return FAIL + + return PASS + + at do_main(sup_types) +def main(): + options = main.options + + status = FAIL + + curr_cim_rev, changeset = get_provider_version(options.virt, options.ip) + if curr_cim_rev < target_dev_rev: + logger.error("Network interface target device support is available" \ + " in rev >= %s", target_dev_rev) + return SKIP + + cxml = get_class(options.virt)(test_dom) + + tap_num = randint(1, 100) + target_dev = "vtap%s" % tap_num + + try: + rasd_list = get_rasd_list(options.ip, options.virt, target_dev) + if len(rasd_list) < 1: + raise Exception("Unable to get template RASDs for %s" % test_dom) + + cxml.set_res_settings(rasd_list) + ret = cxml.cim_define(options.ip) + if not ret: + raise Exception("Unable to define %s" % test_dom) + + status = cxml.cim_start(options.ip) + if status != PASS: + raise Exception("Unable to start %s" % test_dom) + + status = verify_net_rasd(options.ip, options.virt, target_dev, test_dom) + if status != PASS: + raise Exception("Failed to add net interface for %s" % test_dom) + + except Exception, details: + logger.error(details) + status = FAIL + + if test_dom in active_domain_list(options.ip, options.virt): + cxml.cim_destroy(options.ip) + + if test_dom in domain_list(options.ip, options.virt): + cxml.undefine(options.ip) + + return status + +if __name__ == "__main__": + sys.exit(main()) + From deeptik at linux.vnet.ibm.com Wed Feb 3 07:58:56 2010 From: deeptik at linux.vnet.ibm.com (Deepti B Kalakeri) Date: Wed, 03 Feb 2010 13:28:56 +0530 Subject: [Libvirt-cim] Test Run Summary (Feb 03 2010): KVM on Fedora release 13 (Rawhide) with sfcb Message-ID: <4B692CC0.7020204@linux.vnet.ibm.com> ================================================= Test Run Summary (Feb 03 2010): KVM on Fedora release 13 (Rawhide) with sfcb ================================================= Distro: Fedora release 13 (Rawhide) Kernel: 2.6.32.1-9.fc13.x86_64 libvirt: 0.7.5 Hypervisor: QEMU 0.11.0 CIMOM: sfcb sfcbd 1.3.6preview Libvirt-cim revision: 1028 Libvirt-cim changeset: 5b37fac83727 Cimtest revision: 835 Cimtest changeset: 3655b03ada11 Total test execution: Unknown ================================================= FAIL : 6 XFAIL : 3 SKIP : 11 PASS : 160 ----------------- Total : 180 ================================================= FAIL Test Summary: HostSystem - 03_hs_to_settdefcap.py: FAIL RASDIndications - 01_guest_states_rasd_ind.py: FAIL RASDIndications - 02_guest_add_mod_rem_rasd_ind.py: FAIL SettingsDefineCapabilities - 01_forward.py: FAIL VirtualSystemManagementService - 22_addmulti_brg_interface.py: FAIL VirtualSystemSnapshotService - 03_create_snapshot.py: FAIL ================================================= XFAIL Test Summary: ComputerSystem - 32_start_reboot.py: XFAIL ComputerSystem - 33_suspend_reboot.py: XFAIL VirtualSystemManagementService - 16_removeresource.py: XFAIL ================================================= SKIP Test Summary: ComputerSystemMigrationJobIndication - 01_csmig_ind_for_offline_mig.py: SKIP Profile - 04_verify_libvirt_cim_slp_profiles.py: SKIP ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: SKIP ResourcePoolConfigurationService - 07_DeleteResourcePool.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 ================================================= Full 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: PASS -------------------------------------------------------------------- ComputerSystem - 05_activate_defined_start.py: PASS -------------------------------------------------------------------- ComputerSystem - 06_paused_active_suspend.py: PASS -------------------------------------------------------------------- ComputerSystem - 22_define_suspend.py: PASS -------------------------------------------------------------------- ComputerSystem - 23_pause_pause.py: PASS -------------------------------------------------------------------- ComputerSystem - 27_define_pause_errs.py: PASS -------------------------------------------------------------------- ComputerSystem - 32_start_reboot.py: XFAIL ERROR - Got CIM error Unable to reboot domain: this function is not supported by the hypervisor: virDomainReboot with return code 1 ERROR - Exception: Unable reboot dom 'cs_test_domain' InvokeMethod(RequestStateChange): Unable to reboot domain: this function is not supported by the hypervisor: virDomainReboot Bug:<00005> -------------------------------------------------------------------- ComputerSystem - 33_suspend_reboot.py: XFAIL ERROR - Got CIM error State not supported with return code 7 ERROR - Exception: Unable Suspend dom 'test_domain' InvokeMethod(RequestStateChange): State not supported Bug:<00012> -------------------------------------------------------------------- ComputerSystem - 34_start_disable.py: PASS -------------------------------------------------------------------- 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 -------------------------------------------------------------------- ComputerSystemMigrationJobIndication - 01_csmig_ind_for_offline_mig.py: SKIP -------------------------------------------------------------------- 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 -------------------------------------------------------------------- HostedAccessPoint - 01_forward.py: PASS -------------------------------------------------------------------- HostedAccessPoint - 02_reverse.py: PASS -------------------------------------------------------------------- HostedDependency - 01_forward.py: PASS -------------------------------------------------------------------- HostedDependency - 02_reverse.py: PASS -------------------------------------------------------------------- HostedDependency - 03_enabledstate.py: PASS -------------------------------------------------------------------- HostedDependency - 04_reverse_errs.py: PASS -------------------------------------------------------------------- HostedResourcePool - 01_forward.py: PASS -------------------------------------------------------------------- HostedResourcePool - 02_reverse.py: PASS -------------------------------------------------------------------- HostedResourcePool - 03_forward_errs.py: PASS -------------------------------------------------------------------- HostedResourcePool - 04_reverse_errs.py: PASS -------------------------------------------------------------------- HostedService - 01_forward.py: PASS -------------------------------------------------------------------- HostedService - 02_reverse.py: PASS -------------------------------------------------------------------- HostedService - 03_forward_errs.py: PASS -------------------------------------------------------------------- HostedService - 04_reverse_errs.py: PASS -------------------------------------------------------------------- HostSystem - 01_enum.py: PASS -------------------------------------------------------------------- HostSystem - 02_hostsystem_to_rasd.py: PASS -------------------------------------------------------------------- HostSystem - 03_hs_to_settdefcap.py: FAIL ERROR - KVM_SettingsDefineCapabilities returned 44 RASD objects instead of 36 for DiskPool/cimtest-diskpool Class not found -------------------------------------------------------------------- HostSystem - 04_hs_to_EAPF.py: PASS -------------------------------------------------------------------- HostSystem - 05_hs_gi_errs.py: PASS -------------------------------------------------------------------- HostSystem - 06_hs_to_vsms.py: PASS -------------------------------------------------------------------- KVMRedirectionSAP - 01_enum_KVMredSAP.py: PASS -------------------------------------------------------------------- KVMRedirectionSAP - 02_ipv6_support.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: PASS -------------------------------------------------------------------- NetworkPort - 02_np_gi_errors.py: PASS -------------------------------------------------------------------- NetworkPort - 03_user_netport.py: PASS -------------------------------------------------------------------- Processor - 01_processor.py: PASS -------------------------------------------------------------------- Processor - 02_definesys_get_procs.py: PASS -------------------------------------------------------------------- Processor - 03_proc_gi_errs.py: PASS -------------------------------------------------------------------- Profile - 01_enum.py: PASS -------------------------------------------------------------------- Profile - 02_profile_to_elec.py: PASS -------------------------------------------------------------------- Profile - 03_rprofile_gi_errs.py: PASS -------------------------------------------------------------------- Profile - 04_verify_libvirt_cim_slp_profiles.py: SKIP 04_verify_libvirt_cim_slp_profiles.py:30: DeprecationWarning: the sets module is deprecated from sets import Set ERROR - SLP tool does not exist on the machine -------------------------------------------------------------------- RASD - 01_verify_rasd_fields.py: PASS -------------------------------------------------------------------- RASD - 02_enum.py: PASS -------------------------------------------------------------------- RASD - 03_rasd_errs.py: PASS -------------------------------------------------------------------- RASD - 04_disk_rasd_size.py: PASS -------------------------------------------------------------------- RASD - 05_disk_rasd_emu_type.py: PASS -------------------------------------------------------------------- RASD - 06_parent_net_pool.py: PASS -------------------------------------------------------------------- RASD - 07_parent_disk_pool.py: PASS -------------------------------------------------------------------- RASDIndications - 01_guest_states_rasd_ind.py: FAIL ERROR - Did not recieve indication KVM_ResourceAllocationSettingDataDeletedIndication ERROR - Received Indication error: '256' ERROR - Exception: [Errno 3] No such process -------------------------------------------------------------------- RASDIndications - 02_guest_add_mod_rem_rasd_ind.py: FAIL ERROR - Did not recieve indication KVM_ResourceAllocationSettingDataModifiedIndication ERROR - Received Indication error: '256' ERROR - Exception: [Errno 3] No such process -------------------------------------------------------------------- RedirectionService - 01_enum_crs.py: PASS -------------------------------------------------------------------- RedirectionService - 02_enum_crscap.py: PASS -------------------------------------------------------------------- RedirectionService - 03_RedirectionSAP_errs.py: PASS -------------------------------------------------------------------- ReferencedProfile - 01_verify_refprof.py: PASS -------------------------------------------------------------------- ReferencedProfile - 02_refprofile_errs.py: PASS -------------------------------------------------------------------- ResourceAllocationFromPool - 01_forward.py: PASS -------------------------------------------------------------------- ResourceAllocationFromPool - 02_reverse.py: PASS -------------------------------------------------------------------- ResourceAllocationFromPool - 03_forward_errs.py: PASS -------------------------------------------------------------------- ResourceAllocationFromPool - 04_reverse_errs.py: PASS -------------------------------------------------------------------- ResourceAllocationFromPool - 05_RAPF_err.py: PASS -------------------------------------------------------------------- ResourcePool - 01_enum.py: PASS -------------------------------------------------------------------- ResourcePool - 02_rp_gi_errors.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationCapabilities - 01_enum.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationCapabilities - 02_rpcc_gi_errs.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 01_enum.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 02_rcps_gi_errors.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 03_CreateResourcePool.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 04_CreateChildResourcePool.py: SKIP ERROR - Need to give different bridge name since it already exists -------------------------------------------------------------------- ResourcePoolConfigurationService - 05_AddResourcesToResourcePool.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 06_RemoveResourcesFromResourcePool.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 07_DeleteResourcePool.py: SKIP ERROR - Need to give different bridge name since it already exists -------------------------------------------------------------------- ResourcePoolConfigurationService - 08_CreateDiskResourcePool.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 09_DeleteDiskPool.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 10_create_storagevolume.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 11_create_dir_storagevolume_errs.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 12_create_netfs_storagevolume_errs.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 13_delete_storagevolume.py: PASS -------------------------------------------------------------------- ResourcePoolConfigurationService - 14_delete_storagevolume_errs.py: PASS -------------------------------------------------------------------- ServiceAccessBySAP - 01_forward.py: PASS -------------------------------------------------------------------- ServiceAccessBySAP - 02_reverse.py: PASS -------------------------------------------------------------------- ServiceAffectsElement - 01_forward.py: PASS -------------------------------------------------------------------- ServiceAffectsElement - 02_reverse.py: PASS -------------------------------------------------------------------- SettingsDefine - 01_forward.py: PASS -------------------------------------------------------------------- SettingsDefine - 02_reverse.py: PASS -------------------------------------------------------------------- SettingsDefine - 03_sds_fwd_errs.py: PASS -------------------------------------------------------------------- SettingsDefine - 04_sds_rev_errs.py: PASS -------------------------------------------------------------------- SettingsDefineCapabilities - 01_forward.py: FAIL ERROR - KVM_SettingsDefineCapabilities returned 44 ResourcePool objects instead of 36 -------------------------------------------------------------------- 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 -------------------------------------------------------------------- VirtualSystemManagementCapabilities - 01_enum.py: PASS -------------------------------------------------------------------- VirtualSystemManagementCapabilities - 02_vsmcap_gi_errs.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 01_definesystem_name.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 02_destroysystem.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 03_definesystem_ess.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 04_definesystem_ers.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 05_destroysystem_neg.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 06_addresource.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 07_addresource_neg.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 08_modifyresource.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 09_procrasd_persist.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 10_hv_version.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 11_define_memrasdunits.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 12_referenced_config.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 13_refconfig_additional_devs.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 14_define_sys_disk.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 15_mod_system_settings.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 16_removeresource.py: XFAIL ERROR - 0 RASD insts for domain/mouse:ps2 No such instance (no device domain/mouse:ps2) Bug:<00014> -------------------------------------------------------------------- VirtualSystemManagementService - 17_removeresource_neg.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 18_define_sys_bridge.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 19_definenetwork_ers.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 20_verify_vnc_password.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 21_createVS_verifyMAC.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 22_addmulti_brg_interface.py: FAIL ERROR - Failed to create Virtual Network 'my_network0' ERROR - Unable to create network pool my_network0 -------------------------------------------------------------------- VirtualSystemManagementService - 23_verify_duplicate_mac_err.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 24_define_sys_features.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 24_verify_modifyres_output.py: PASS -------------------------------------------------------------------- VirtualSystemManagementService - 25_definesystem_floppy.py: PASS -------------------------------------------------------------------- VirtualSystemMigrationCapabilities - 01_enum.py: PASS -------------------------------------------------------------------- VirtualSystemMigrationCapabilities - 02_vsmc_gi_errs.py: PASS -------------------------------------------------------------------- VirtualSystemMigrationService - 01_migratable_host.py: SKIP -------------------------------------------------------------------- VirtualSystemMigrationService - 02_host_migrate_type.py: SKIP -------------------------------------------------------------------- VirtualSystemMigrationService - 05_migratable_host_errs.py: SKIP -------------------------------------------------------------------- VirtualSystemMigrationService - 06_remote_live_migration.py: SKIP -------------------------------------------------------------------- VirtualSystemMigrationService - 07_remote_offline_migration.py: SKIP -------------------------------------------------------------------- VirtualSystemMigrationService - 08_remote_restart_resume_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 -------------------------------------------------------------------- VirtualSystemSnapshotService - 03_create_snapshot.py: FAIL ERROR - Got CIM error Domain has a snapshot with return code 7 ERROR - Exception: Failed to start the defined domain: snapshot_vm InvokeMethod(RequestStateChange): Domain has a snapshot -------------------------------------------------------------------- VirtualSystemSnapshotServiceCapabilities - 01_enum.py: PASS -------------------------------------------------------------------- VirtualSystemSnapshotServiceCapabilities - 02_vs_sservicecap_gi_errs.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 -------------------------------------------------------------------- VSSD - 05_set_uuid.py: PASS -------------------------------------------------------------------- VSSD - 06_duplicate_uuid.py: PASS -------------------------------------------------------------------- -- Thanks and Regards, Deepti B. Kalakeri IBM Linux Technology Center deeptik at linux.vnet.ibm.com From deeptik at linux.vnet.ibm.com Wed Feb 3 10:32:19 2010 From: deeptik at linux.vnet.ibm.com (Deepti B Kalakeri) Date: Wed, 03 Feb 2010 16:02:19 +0530 Subject: [Libvirt-cim] Test Run Summary (Feb 03 2010): KVM on Fedora release 13 (Rawhide) with sfcb In-Reply-To: <4B692CC0.7020204@linux.vnet.ibm.com> References: <4B692CC0.7020204@linux.vnet.ibm.com> Message-ID: <4B6950B3.4020201@linux.vnet.ibm.com> Deepti B Kalakeri wrote: > ================================================= > Test Run Summary (Feb 03 2010): KVM on Fedora release 13 (Rawhide) > with sfcb > ================================================= > Distro: Fedora release 13 (Rawhide) > Kernel: 2.6.32.1-9.fc13.x86_64 > libvirt: 0.7.5 > Hypervisor: QEMU 0.11.0 > CIMOM: sfcb sfcbd 1.3.6preview > Libvirt-cim revision: 1028 > Libvirt-cim changeset: 5b37fac83727 > Cimtest revision: 835 > Cimtest changeset: 3655b03ada11 > Total test execution: Unknown > ================================================= > FAIL : 6 > XFAIL : 3 > SKIP : 11 > PASS : 160 > ----------------- > Total : 180 > ================================================= > FAIL Test Summary: > HostSystem - 03_hs_to_settdefcap.py: FAIL Test needs to be updated to accommodate the Libvirt-CIM changes, will send fix for this soon. > RASDIndications - 01_guest_states_rasd_ind.py: FAIL > RASDIndications - 02_guest_add_mod_rem_rasd_ind.py: FAIL Will investigate these two tests. > SettingsDefineCapabilities - 01_forward.py: FAIL Test needs to be updated to accommodate the Libvirt-CIM changes, will send fix for this soon. > VirtualSystemManagementService - 22_addmulti_brg_interface.py: FAIL This test XFAIL'ed as expected when run manually > > VirtualSystemSnapshotService - 03_create_snapshot.py: FAIL This test passed when run manually. -- Thanks and Regards, Deepti B. Kalakeri IBM Linux Technology Center deeptik at linux.vnet.ibm.com From snmishra at us.ibm.com Tue Feb 23 20:21:24 2010 From: snmishra at us.ibm.com (Sharad Mishra) Date: Tue, 23 Feb 2010 12:21:24 -0800 Subject: [Libvirt-cim] [PATCH 3 of 3] Update xml generation to support vepa In-Reply-To: References: Message-ID: <94e67df60eb8ca8ce580.1266956484@elm3b24.beaverton.ibm.com> # HG changeset patch # User Sharad Mishra # Date 1266955067 28800 # Node ID 94e67df60eb8ca8ce580c4a43b0958f6243d0f31 # Parent 19918810d820fc1ea1296f4cf8c48ac442f571cb Update xml generation to support vepa. Signed-of-by: Sharad Mishra diff -r 19918810d820 -r 94e67df60eb8 libxkutil/xmlgen.c --- a/libxkutil/xmlgen.c Tue Feb 23 11:57:42 2010 -0800 +++ b/libxkutil/xmlgen.c Tue Feb 23 11:57:47 2010 -0800 @@ -169,7 +169,14 @@ tmp = xmlNewChild(nic, NULL, BAD_CAST "source", NULL); if (tmp == NULL) return XML_ERROR; - xmlNewProp(tmp, BAD_CAST src_type, BAD_CAST dev->source); + if (STREQ(src_type, "direct")) { + xmlNewProp(tmp, BAD_CAST "dev", BAD_CAST dev->source); + if (dev->net_mode != NULL) + xmlNewProp(tmp, BAD_CAST "mode", + BAD_CAST dev->net_mode); + } else + xmlNewProp(tmp, BAD_CAST src_type, + BAD_CAST dev->source); } else return XML_ERROR; @@ -212,10 +219,12 @@ return XML_ERROR; xmlNewProp(nic, BAD_CAST "type", BAD_CAST net->type); - tmp = xmlNewChild(nic, NULL, BAD_CAST "mac", NULL); - if (tmp == NULL) - return XML_ERROR; - xmlNewProp(tmp, BAD_CAST "address", BAD_CAST net->mac); + if (net->mac != NULL) { + tmp = xmlNewChild(nic, NULL, BAD_CAST "mac", NULL); + if (tmp == NULL) + return XML_ERROR; + xmlNewProp(tmp, BAD_CAST "address", BAD_CAST net->mac); + } if (net->device != NULL) { tmp = xmlNewChild(nic, NULL, BAD_CAST "target", NULL); @@ -238,6 +247,8 @@ msg = bridge_net_to_xml(nic, net); else if (STREQ(dev->dev.net.type, "user")) continue; + else if (STREQ(dev->dev.net.type, "direct")) + msg = set_net_source(nic, net, "direct"); else msg = "Unknown interface type"; } diff -r 19918810d820 -r 94e67df60eb8 src/Virt_VirtualSystemManagementService.c --- a/src/Virt_VirtualSystemManagementService.c Tue Feb 23 11:57:42 2010 -0800 +++ b/src/Virt_VirtualSystemManagementService.c Tue Feb 23 11:57:47 2010 -0800 @@ -63,6 +63,7 @@ #define BRIDGE_TYPE "bridge" #define NETWORK_TYPE "network" #define USER_TYPE "user" +#define DIRECT_TYPE "direct" #define RASD_IND_CREATED "ResourceAllocationSettingDataCreatedIndication" #define RASD_IND_DELETED "ResourceAllocationSettingDataDeletedIndication" #define RASD_IND_MODIFIED "ResourceAllocationSettingDataModifiedIndication" @@ -750,6 +751,15 @@ dev->dev.net.source = strdup(network); } else if (STREQC(val, USER_TYPE)) { dev->dev.net.type = strdup(USER_TYPE); + } else if (STREQC(val, DIRECT_TYPE)) { + dev->dev.net.type = strdup(DIRECT_TYPE); + if (cu_get_str_prop(inst, "SourceDevice", &val) == CMPI_RC_OK) + if (strlen(val) > 0) + dev->dev.net.source = strdup(val); + else + return "Source Device is empty"; + else + return "No Source Device specified"; } else return "Invalid Network Type specified"; @@ -759,6 +769,12 @@ else dev->dev.net.device = strdup(val); + free(dev->dev.net.net_mode); + if (cu_get_str_prop(inst, "NetworkMode", &val) != CMPI_RC_OK) + dev->dev.net.net_mode = NULL; + else + dev->dev.net.net_mode = strdup(val); + free(dev->dev.net.model); if (cu_get_str_prop(inst, "ResourceSubType", &val) != CMPI_RC_OK) From snmishra at us.ibm.com Tue Feb 23 20:21:22 2010 From: snmishra at us.ibm.com (Sharad Mishra) Date: Tue, 23 Feb 2010 12:21:22 -0800 Subject: [Libvirt-cim] [PATCH 1 of 3] Update xml parsing to support vepa In-Reply-To: References: Message-ID: <0a41b5e876d601216cb3.1266956482@elm3b24.beaverton.ibm.com> # HG changeset patch # User Sharad Mishra # Date 1266951039 28800 # Node ID 0a41b5e876d601216cb3257409eee231b4aec8b0 # Parent 5b37fac8372729a7da9817a8fc0661159fc710b8 Update xml parsing to support vepa. Signed-off-by: Sharad Mishra diff -r 5b37fac83727 -r 0a41b5e876d6 libxkutil/device_parsing.c --- a/libxkutil/device_parsing.c Thu Jan 28 15:45:31 2010 -0800 +++ b/libxkutil/device_parsing.c Tue Feb 23 10:50:39 2010 -0800 @@ -65,6 +65,7 @@ free(dev->source); free(dev->model); free(dev->device); + free(dev->net_mode); } static void cleanup_emu_device(struct emu_device *dev) @@ -311,6 +312,10 @@ ndev->source = get_attr_value(child, "network"); if (ndev->source != NULL) continue; + ndev->source = get_attr_value(child, "dev"); + ndev->net_mode = get_attr_value(child, "mode"); + if ((ndev->source != NULL) && (ndev->net_mode != NULL)) + continue; goto err; } else if (XSTREQ(child->name, "target")) { ndev->device = get_attr_value(child, "dev"); @@ -666,6 +671,7 @@ DUP_FIELD(dev, _dev, dev.net.source); DUP_FIELD(dev, _dev, dev.net.model); DUP_FIELD(dev, _dev, dev.net.device); + DUP_FIELD(dev, _dev, dev.net.net_mode); } else if (dev->type == CIM_RES_TYPE_DISK) { DUP_FIELD(dev, _dev, dev.disk.type); DUP_FIELD(dev, _dev, dev.disk.device); diff -r 5b37fac83727 -r 0a41b5e876d6 libxkutil/device_parsing.h --- a/libxkutil/device_parsing.h Thu Jan 28 15:45:31 2010 -0800 +++ b/libxkutil/device_parsing.h Tue Feb 23 10:50:39 2010 -0800 @@ -51,6 +51,7 @@ char *source; char *model; char *device; + char *net_mode; }; struct mem_device { From snmishra at us.ibm.com Tue Feb 23 20:21:21 2010 From: snmishra at us.ibm.com (Sharad Mishra) Date: Tue, 23 Feb 2010 12:21:21 -0800 Subject: [Libvirt-cim] [PATCH 0 of 3] Add Vepa support Message-ID: Signed-off-by: Sharad Mishra From snmishra at us.ibm.com Tue Feb 23 20:21:23 2010 From: snmishra at us.ibm.com (Sharad Mishra) Date: Tue, 23 Feb 2010 12:21:23 -0800 Subject: [Libvirt-cim] [PATCH 2 of 3] Update mof and RASD to support Vepa In-Reply-To: References: Message-ID: <19918810d820fc1ea129.1266956483@elm3b24.beaverton.ibm.com> # HG changeset patch # User Sharad Mishra # Date 1266955062 28800 # Node ID 19918810d820fc1ea1296f4cf8c48ac442f571cb # Parent 0a41b5e876d601216cb3257409eee231b4aec8b0 Update mof and RASD to support Vepa Signed-off-by: Sharad Mishra diff -r 0a41b5e876d6 -r 19918810d820 schema/ResourceAllocationSettingData.mof --- a/schema/ResourceAllocationSettingData.mof Tue Feb 23 10:50:39 2010 -0800 +++ b/schema/ResourceAllocationSettingData.mof Tue Feb 23 11:57:42 2010 -0800 @@ -62,6 +62,12 @@ [Description ("Target device as seen by the guest")] string VirtualDevice; + + [Description ("Source Device for bridge mode")] + string SourceDevice; + + [Description ("Network mode, could be 'vepa', 'pepa' etc.")] + string NetworkMode; }; [Description ("KVM virtual network configuration"), @@ -78,6 +84,12 @@ [Description ("Target device as seen by the guest")] string VirtualDevice; + + [Description ("Source Device for bridge mode")] + string SourceDevice; + + [Description ("Network mode, could be 'vepa', 'pepa' etc.")] + string NetworkMode; }; [Description ("LXC virtual network configuration"), diff -r 0a41b5e876d6 -r 19918810d820 src/Virt_RASD.c --- a/src/Virt_RASD.c Tue Feb 23 10:50:39 2010 -0800 +++ b/src/Virt_RASD.c Tue Feb 23 11:57:42 2010 -0800 @@ -302,12 +302,25 @@ (CMPIValue *)dev->dev.net.source, CMPI_chars); + if ((dev->dev.net.source != NULL) && + (STREQ(dev->dev.net.type, "direct"))) + CMSetProperty(inst, + "SourceDevice", + (CMPIValue *)dev->dev.net.source, + CMPI_chars); + if (dev->dev.net.device != NULL) CMSetProperty(inst, "VirtualDevice", (CMPIValue *)dev->dev.net.device, CMPI_chars); + if (dev->dev.net.net_mode != NULL) + CMSetProperty(inst, + "NetworkMode", + (CMPIValue *)dev->dev.net.net_mode, + CMPI_chars); + if (dev->dev.net.model != NULL) CMSetProperty(inst, "ResourceSubType", diff -r 0a41b5e876d6 -r 19918810d820 src/Virt_SettingsDefineCapabilities.c --- a/src/Virt_SettingsDefineCapabilities.c Tue Feb 23 10:50:39 2010 -0800 +++ b/src/Virt_SettingsDefineCapabilities.c Tue Feb 23 11:57:42 2010 -0800 @@ -547,6 +547,8 @@ const char *net_name, uint64_t num_nics, const char *device, + const char *src_dev, + const char *net_mode, const char *model, struct inst_list *list) { @@ -565,10 +567,18 @@ CMSetProperty(inst, "VirtualQuantity", (CMPIValue *)&num_nics, CMPI_uint64); - if (model != NULL) + if (device != NULL) CMSetProperty(inst, "VirtualDevice", (CMPIValue *)device, CMPI_chars); + if (net_mode != NULL) + CMSetProperty(inst, "NetworkMode", + (CMPIValue *)net_mode, CMPI_chars); + + if (src_dev != NULL) + CMSetProperty(inst, "SourceDevice", + (CMPIValue *)src_dev, CMPI_chars); + if (model != NULL) CMSetProperty(inst, "ResourceSubType", (CMPIValue *)model, CMPI_chars); @@ -590,6 +600,8 @@ int i,j; const char *type[] = {"network", "bridge", "user"}; const char *device[] = {"vtap1", NULL}; + const char *src_dev[] = {NULL, NULL}; + const char *net_mode[] = {NULL, NULL}; const char *model[] = {"e1000", NULL}; const char *name[] = {NULL, "br0", NULL}; @@ -629,13 +641,18 @@ name[i], num_nics, device[j], + src_dev[j], + net_mode[j], model[j], list); if (s.rc != CMPI_RC_OK) goto out; } } - + + s = set_net_props(template_type, ref, id, "direct", NULL, num_nics, + NULL, "eth1", "vepa", NULL, list); + out: return s; }