[libvirt] libvirt 1.2.9.3 - test for vircgrouptest fails

Michal Privoznik mprivozn at redhat.com
Thu Feb 25 10:18:32 UTC 2016


On 25.02.2016 07:25, Michal Privoznik wrote:
> On 24.02.2016 21:36, Florian Hubold wrote:
>> Hi,
>>
>> one of the seems to fail on our build system, vircgrouptest fails with
>> Unexpected: nodeGetCPUCount() yields: -1
>>
>> The test runs fine locally.
>> Here are the contents from testsuite.log with VIR_TEST_DEBUG=1 enabled.
>>
>>
>> See tests/test-suite.log
>> Please report to libvir-list at redhat.com
>> ============================================================================
>> [...]
>> + cat test-suite.log
>> ===========================================
>>    libvirt 1.2.9.3: tests/test-suite.log
>> ===========================================
>>
>> # TOTAL: 126
>> # PASS:  123
>> # SKIP:  2
>> # XFAIL: 0
>> # FAIL:  1
>> # XPASS: 0
>> # ERROR: 0
>>
>> .. contents:: :depth: 2
>>
>> FAIL: vircgrouptest
>> ===================
>>
>> TEST: vircgrouptest
>>  1) New cgroup for self                                               ... OK
>>  2) New cgroup for partition                                          ...
>> libvirt: Cgroup error : At least one cgroup controller is required: No such
>> device or address
>> OK
>>  3) New cgroup for partition nested                                   ...
>> libvirt: Cgroup error : Failed to create controller cpu for group: No such file
>> or directory
>> OK
>>  4) New cgroup for partition nested deeply                            ...
>> libvirt: Cgroup error : Failed to create controller cpu for group: No such file
>> or directory
>> OK
>>  5) New cgroup for domain partition                                   ... OK
>>  6) New cgroup for domain partition escaped                           ... OK
>>  7) Cgroup available                                                  ... OK
>>  8) virCgroupGetBlkioIoServiced works                                 ... OK
>>  9) virCgroupGetBlkioIoDeviceServiced works                           ... OK
>> 10) virCgroupGetMemoryUsage works                                     ... OK
>> 11) virCgroupGetPercpuStats works                                     ...
>> Unexpected: nodeGetCPUCount() yields: -1
>> libvirt:  error : this function is not supported by the connection driver: host
>> cpu counting not supported on this node
> 
> Interesting. This error is produced becasue there's no
> /sys/devices/system/cpu/cpu0 directory on your system. Therefore:
> 
> 1) it's our bug that in testsuite we access real data from host's sysfs.
> We need a bit more mocking.
> 2) it's interesting that you don't have cpu0. Can you please share dir
> listing of /sys/devices/system/cpu?
> 

This should be now fixed in:

commit 50129dcc9cb1caa312606c86b62431c643b8f39b
Author:     Michal Privoznik <mprivozn at redhat.com>
AuthorDate: Thu Feb 25 08:44:46 2016 +0100
Commit:     Michal Privoznik <mprivozn at redhat.com>
CommitDate: Thu Feb 25 11:14:29 2016 +0100

    vircgroupmock: Mock access("/sys/devices/system/cpu/present")

    There's been a report on the upstream list [1] describing we
    access /sys/devices/system/cpu/present directly on the host from
    within our test suite. This may end up in unpredictable results
    as no all linux systems are required to have that file. Mock
    access to the file.

    libvirt.git/tests $ ../run strace vircgrouptest
    ...
    access("/sys/devices/system/cpu/present", F_OK) = 0
    ...

    Signed-off-by: Michal Privoznik <mprivozn at redhat.com>

Michal




More information about the libvir-list mailing list