[Libvirt-cim] [PATCH v2 00/12] cimtest updates

John Ferlan jferlan at redhat.com
Thu May 2 12:28:54 UTC 2013


On 04/28/2013 01:19 AM, WangXu wrote:
> I have run cimtest with these 12 patches and they solved most of bugs
> before.
> However, I found some new FAIL cases.
> 1.
> --------------------------------------------------------------------
> HostSystem - 01_enum.py: FAIL
> ERROR     - Exp KVM_HostSystem, got KVM_HostSystem
> ERROR     - Exp localhost, got RH64wenchao
> CIM_ERR_INVALID_CLASS: Linux_ComputerSystem
> --------------------------------------------------------------------
> HostSystem - 03_hs_to_settdefcap.py: FAIL
> ERROR     - Hostname mismatch
> --------------------------------------------------------------------
> Hostname mismatch because cimtest match localhost with RH64wenchao...
> Could you find out what cause it and fix it?

Not sure this has anything to do with my set of changes - seems more
like a system configuration issue that since it's happening on your
system is probably more easily debugged by you.  Start in 01_enum.py and
do various print's in order to figure out where issue is.  My system
config has an 'options.ip' = localhost and the return from
"full_hostname" set to a "generated" name.  I have nothing in my
/etc/hosts nor in my /etc/sysconfig/network-scripts/* files.


> 
> 2.
> --------------------------------------------------------------------
> SwitchService - 01_enum.py: XFAIL
> Please check if this is the expected result ---
> *** VSI NOT supported ***
> --------------------------------------------------------------------
> Why XFAIL but not SKIP here? My computer does not support it.

Neither does mine, but XFAIL is the original design.
> 
> 3.
> --------------------------------------------------------------------
> VirtualSystemManagementService - 22_addmulti_brg_interface.py: XFAIL
> ERROR     - (1, u"CIM_ERR_FAILED: Unable to change (0) device: internal
> error unable to execute QEMU command 'device_add': Bus 'pci.0' does not
> support hotplugging")
> ERROR     - Error invoking AddRS: add_net_res
> ERROR     - AddResourceSettings call failed
> ERROR     - Failed to destroy Virtual Network 'my_network1'
> InvokeMethod(AddResourceSettings): CIM_ERR_FAILED: Unable to change (0)
> device: internal error unable to execute QEMU command 'device_add': Bus
> 'pci.0' does not support hotplugging
> Bug:<00015>

Unrelated to my changes. The only change I made to 22*.py was the
'test_mac' value.  See more below though...

> --------------------------------------------------------------------
> VirtualSystemManagementService - 30_dynamic_disk_mod.py: XFAIL
> ERROR     - (1, u"CIM_ERR_FAILED: Unable to change (0) device: internal
> error unable to execute QEMU command 'device_add': Bus 'pci.0' does not
> support hotplugging")
> ERROR     - Error invoking AddRS: add_disk_res
> ERROR     - AddResourceSettings call failed
> InvokeMethod(AddResourceSettings): CIM_ERR_FAILED: Unable to change (0)
> device: internal error unable to execute QEMU command 'device_add': Bus
> 'pci.0' does not support hotplugging

I didn't make any changes here

> --------------------------------------------------------------------
> I am sorry I don't clear what caused it.

Same here :-)  Although it seems as though the test is trying to add a
disk to a pci.0 device/bus, but that addition is not supported for a
running domain in the configuration provided by cimtest.  It does make
me wonder if these tests ever passed for KVM...

Digging into the tests a bit, the failure for 22*.py comes as a result
of a call to cimtest method 'add_net_res()'. There are two tests that
call it. The other is VirtualSystemManagementService/06_addresource.py;
however, there's a check in the 06*.py test which doesn't attempt the
call when the domain is started, e.g.:

    if options.virt == "KVM":
        test_cases = ["define"]
    else:
        test_cases = ["define", "start"]

Since test 22* attempts this call when things are started, it's a
different path of support - namely 'hotplug'.  After a bit of trial and
error, I have a possible fix.  I found that I had to change the domain
configuration in the test to set "acpi=True".  Then I had to change the
'add_net_res' code to query "source/@bridge" and not "source/@network"
and compare against attr['virt_net'] and not attr['net_name'].  The
net_name (e.g. my_network1) is a network pool attribute not a domain
network attribute.  I'm really not sure this test worked or passed
previously.

I will dive into test 30*.py at some point in time.  I did try the
simple "acpi=True" change there, but that just caused other failures.

> 
> 4.
> --------------------------------------------------------------------
> VirtualSystemManagementService - 27_definesystem_macvtap_dev.py: FAIL
> ERROR     - Got CIM error CIM_ERR_FAILED: Unable to start domain: Unable
> to get index for interface eth1: No such device with return code 1
> ERROR     - Unable to start rstest_nic
> InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Unable to start domain:
> Unable to get index for interface eth1: No such device
> --------------------------------------------------------------------
> VirtualSystemManagementService - 28_definesystem_with_vsi_profile.py: XFAIL
> ERROR     - Got CIM error CIM_ERR_FAILED: Unable to start domain: Unable
> to get index for interface eth1: No such device with return code 1
> ERROR     - Unable to start VM *** Is VSI support available on this
> host? ***
> InvokeMethod(RequestStateChange): CIM_ERR_FAILED: Unable to start domain:
> Unable to get index for interface eth1: No such device
> --------------------------------------------------------------------
> This FAIL happens because there is no eth1 interface on my computer. The
> name
> of my network interface is "eth3". So I think it had better list all network
> interfaces and pick available one for testing. For multicard machine
> there are
> some rule to choice one or...configure it manually?

Correct - there is no method now to get a/the list of network interfaces
and then "choose" a valid one to execute tests.  To further muddy the
waters the latest Fedora releases uses 'em#' instead of 'eth#' - the
commit message from my change has a pointer to the details.

For now though the values are hardcoded.  It's something I'm sure I
noted in one our exchanges already.

John


> 
>> From: jferlan at redhat.com
>> To: libvirt-cim at redhat.com
>> Date: Wed, 24 Apr 2013 10:09:02 -0400
>> Subject: [Libvirt-cim] [PATCH v2 00/12] cimtest updates
>>
>> This is primarily a repost of the previous series:
>>
>> https://www.redhat.com/archives/libvirt-cim/2013-March/msg00051.html
>>
>> and
>>
>> https://www.redhat.com/archives/libvirt-cim/2013-April/msg00014.html
>>
>> The primary difference in this patch vs. the previous sets is to fix the
>> version string checking for nfs server checking in common_util.py and to
>> add patch 12/12 which handles a problem in 'enum_volumes()' in pool.py.
>>
>> I assume patches 1-4 and 6-9 were reviewed without issue. So focus on 5/12
>> and 10-12/12.
>>
>>
>> John Ferlan (12):
>> Need to check "slp=true", not just "slp" since "slp=false" is possible
>> Change the MAC from "99:" to "88:"
>> Create a temporary directory for disk pool tests
>> Use symbols as named in libvirt-cim for easier reference
>> Fix nfs-server lookup code
>> Fix os_status passing to reporter functions
>> Resolve issues found in test.
>> On Fedora systems default to using 'em1' instead of 'eth1'
>> 19 - resolve issues found in test
>> vxml: Add which volume could not be found to error message
>> Add and utilize virsh_version_cmp
>> pool: Need to handle when there are no volumes in the default pool
>>
>> .../Profile/04_verify_libvirt_cim_slp_profiles.py | 2 +-
>> .../08_CreateDiskResourcePool.py | 30 +++++--
>> .../09_DeleteDiskPool.py | 19 +++--
>> .../10_create_storagevolume.py | 6 +-
>> .../11_create_dir_storagevolume_errs.py | 5 +-
>> .../12_create_netfs_storagevolume_errs.py | 5 +-
>> .../13_delete_storagevolume.py | 5 +-
>> .../14_delete_storagevolume_errs.py | 5 +-
>> .../15_DiskPoolAutostart.py | 15 +++-
>> .../SettingsDefineCapabilities/01_forward.py | 1 -
>> .../libvirt-cim/cimtest/VSSD/06_duplicate_uuid.py | 2 +-
>> .../06_addresource.py | 2 +-
>> .../08_modifyresource.py | 4 +-
>> .../13_refconfig_additional_devs.py | 4 +-
>> .../15_mod_system_settings.py | 11 ++-
>> .../18_define_sys_bridge.py | 2 +-
>> .../19_definenetwork_ers.py | 23 +++---
>> .../22_addmulti_brg_interface.py | 2 +-
>> .../27_definesystem_macvtap_dev.py | 19 ++++-
>> .../28_definesystem_with_vsi_profile.py | 15 ++++
>> suites/libvirt-cim/lib/XenKvmLib/common_util.py | 93
> +++++++++++++++++-----
>> suites/libvirt-cim/lib/XenKvmLib/const.py | 6 +-
>> suites/libvirt-cim/lib/XenKvmLib/pool.py | 10 +--
>> suites/libvirt-cim/lib/XenKvmLib/rasd.py | 10 ++-
>> suites/libvirt-cim/lib/XenKvmLib/test_xml.py | 2 +-
>> suites/libvirt-cim/lib/XenKvmLib/vxml.py | 4 +-
>> suites/libvirt-cim/lib/XenKvmLib/xm_virt_util.py | 6 ++
>> suites/libvirt-cim/main.py | 15 ++++
>> 28 files changed, 237 insertions(+), 86 deletions(-)
>>
>> --
>> 1.8.1.4
>>
>> _______________________________________________
>> Libvirt-cim mailing list
>> Libvirt-cim at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvirt-cim




More information about the Libvirt-cim mailing list