Bug 1889960 - The version of perl-Sys-Virt should be updated
Summary: The version of perl-Sys-Virt should be updated
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: perl-Sys-Virt
Version: 8.3
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 8.3
Assignee: Virtualization Maintenance
QA Contact: Virtualization Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2020-10-21 05:29 UTC by yicui
Modified: 2020-11-14 06:02 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-10-21 10:24:24 UTC
Type: Bug
Target Upstream Version:

Attachments (Terms of Use)

Description yicui 2020-10-21 05:29:55 UTC
Description of problem:

Version-Release number of selected component (if applicable):
RHEL 8.3

How reproducible:

Steps to Reproduce:
1. Run domain/900-get-version.t script
libvirt-tck  --testdir domain/900-get-version.t -v --force


Actual results:
scripts]# libvirt-tck  --testdir domain/900-get-version.t -v --force
domain/900-get-version.t .. 
ok 1 - Return the complete version number
not ok 2 - Return the version number of the API associated with the active connection.
#   Failed test 'Return the version number of the API associated with the active connection.'
#   at domain/900-get-version.t line 63.
#          got: '6.3.0'
#     expected: '6.6.0'
# Looks like you failed 1 test of 2.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/2 subtests 

Test Summary Report
domain/900-get-version.t (Wstat: 256 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1
Files=1, Tests=2,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.19 cusr  0.02 csys =  0.24 CPU)
Result: FAIL

Expected results:
No error

Additional info:
Script is in https://gitlab.cee.redhat.com/libvirt-auto/libvirt-tck/tree/rhel8   script/domain/900-get-version.t

Comment 1 Daniel Berrangé 2020-10-21 08:32:37 UTC
There is no 6.6.0 release of perl-Sys-Virt, because there were no new APIs added beteen 6.3.0 and 6.6.0.

Looking at the 900get-version.t script it is comparing get_version() to get_library_version().

The former is the version of the current hypervisor driver - ie whatever is running inside libvirtd. 

The latter is the version of the client app, aka libvirt.so

Neither is related to the version of perl-Sys-Virt binding.

So it kind of looks like you somehow have either old libvirtd or old libvirt.so

Comment 2 yicui 2020-10-21 10:06:11 UTC
Hi Deniel, 

I've checked the version of libvirt.so, it's 6.6,
strings /usr/lib64/libvirt.so | grep 6.6
libvirt version: 6.6.0, package: 6.module+el8.3.0+8125+aefcf088 (Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>, 2020-09-16-12:16:01, )

And I found Sys::Virt::VERSION is 6.3.0 in src:
our $VERSION = '6.3.0';
require XSLoader;
XSLoader::load('Sys::Virt', $VERSION);

I think it's the problem why this script get failed. 
I understand it's not a critical issue, but still want to check with you if we plan to fix it in this release.

Comment 3 Daniel Berrangé 2020-10-21 10:24:24 UTC
Oh right, I missed that your tests is using $VERSION.  This failure is expected. The value in $VERSION is correct, because the perl-Sys-Virt library is indeed version 6.3.0 and that is fine because there was no need for a new release.

Note You need to log in before you can comment on or make changes to this bug.