Bug 553291

Summary: Sys::Virt module is missing many APIs introduced between 0.6.4 and 0.7.5 libvirt
Product: Red Hat Enterprise Linux 6 Reporter: Daniel Berrangé <berrange>
Component: perl-Sys-VirtAssignee: Daniel Berrangé <berrange>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: borgan, gren, hbrock
Target Milestone: rcKeywords: Rebase
Target Release: ---Flags: gren: needinfo+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: perl-Sys-Virt-0.2.4-1.el6 Doc Type: Rebase: Bug Fixes and Enhancements
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-10 21:20:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Daniel Berrangé 2010-01-07 15:26:01 UTC
Description of problem:
The current Sys::Virt module targets libvirt 0.6.4 API. It needs to support the 0.7.5 API for RHEL-6. The following are the missing APIs

LIBVIRT_0.7.0 {
    global:
        virConnectNumOfDefinedInterfaces;
        virConnectListDefinedInterfaces;
} LIBVIRT_0.6.4;

LIBVIRT_0.7.1 {
    global:
        virSecretGetConnect;
        virConnectNumOfSecrets;
        virConnectListSecrets;
        virSecretLookupByUUID;
        virSecretLookupByUUIDString;
        virSecretLookupByUsage;
        virSecretDefineXML;
        virSecretGetUUID;
        virSecretGetUUIDString;
        virSecretGetUsageType;
        virSecretGetUsageID;
        virSecretGetXMLDesc;
        virSecretSetValue;
        virSecretGetValue;
        virSecretUndefine;
        virSecretRef;
        virSecretFree;
} LIBVIRT_0.7.0;

LIBVIRT_0.7.2 {
    global:
        virStreamNew;
        virStreamRef;
        virStreamSend;
        virStreamRecv;
        virStreamSendAll;
        virStreamRecvAll;
        virStreamEventAddCallback;
        virStreamEventUpdateCallback;
        virStreamEventRemoveCallback;
        virStreamFinish;
        virStreamAbort;
        virStreamFree;
        virDomainMigrateToURI;
} LIBVIRT_0.7.1;
LIBVIRT_0.7.3 {
    global:
        virConnectGetLibVersion;
        virConnectIsEncrypted;
        virConnectIsSecure;
        virDomainIsActive;
        virDomainIsPersistent;
        virNetworkIsActive;
        virNetworkIsPersistent;
        virStoragePoolIsActive;
        virStoragePoolIsPersistent;
        virInterfaceIsActive;
} LIBVIRT_0.7.2;

LIBVIRT_0.7.5 {
    global:
        virConnectCompareCPU;
        virDomainMemoryStats;
} LIBVIRT_0.7.3;



Version-Release number of selected component (if applicable):
perl-Sys-Virt-0.2.1

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 RHEL Program Management 2010-01-07 15:44:50 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 2 Daniel Berrangé 2010-01-20 15:27:00 UTC
Fix built into perl-Sys-Virt-0.2.3-1.el6.x86_64

Comment 5 Daniel Berrangé 2010-04-30 10:49:17 UTC
Moving this back to ASSIGNED, since the libvirt rebase means we're lacking many APIs again in the perl binding:

LIBVIRT_0.7.7 {
    global:
        virDomainAttachDeviceFlags;
        virDomainDetachDeviceFlags;
        virConnectBaselineCPU;
        virDomainGetJobInfo;
        virDomainAbortJob;
} LIBVIRT_0.7.5;

LIBVIRT_0.8.0 {
    global:
        virStorageVolWipe;
        virDomainMigrateSetMaxDowntime;
        virConnectDomainEventRegisterAny;
        virConnectDomainEventDeregisterAny;
        virDomainUpdateDeviceFlags;
        virConnectListNWFilters;
        virConnectNumOfNWFilters;
        virNWFilterLookupByName;
        virNWFilterLookupByUUID;
        virNWFilterLookupByUUIDString;
        virNWFilterFree;
        virNWFilterGetName;
        virNWFilterGetUUID;
        virNWFilterGetUUIDString;
        virNWFilterGetXMLDesc;
        virNWFilterRef;
        virNWFilterDefineXML;
        virNWFilterUndefine;
        virDomainManagedSave;
        virDomainHasManagedSaveImage;
        virDomainManagedSaveRemove;
        virDomainSnapshotCreateXML;
        virDomainSnapshotGetXMLDesc;
        virDomainSnapshotNum;
        virDomainSnapshotListNames;
        virDomainSnapshotLookupByName;
        virDomainHasCurrentSnapshot;
        virDomainSnapshotCurrent;
        virDomainRevertToSnapshot;
        virDomainSnapshotDelete;
        virDomainSnapshotFree;
} LIBVIRT_0.7.7;


LIBVIRT_0.8.1 {
    global:
        virDomainGetBlockInfo;
} LIBVIRT_0.8.0;

Need to update to Sys-Virt 0.2.4 to pull in these APIs.

Comment 6 Hugh Brock 2010-05-18 20:19:15 UTC
Dan I don't think this requires Exception + as it's not a future feature (or if it is it should be covered under the libvirt rebase). So go ahead and rebase tomorrow for snap 5 if possible.

Comment 7 Daniel Berrangé 2010-05-19 12:34:47 UTC
The 0.2.4 release has been built

Comment 9 Gunannan Ren 2010-07-08 07:30:07 UTC
I check the version of 'perl-Sys-Virt-0.2.4-1.el6' the following APIs didn't be covered

LIBVIRT_0.7.1 {
    global:
        virSecretRef;
} LIBVIRT_0.7.0;

LIBVIRT_0.7.2 {
    global:
        virStreamNew;
        virStreamRef;
        virStreamSend;
        virStreamRecv;
        virStreamSendAll;
        virStreamRecvAll;
        virStreamEventAddCallback;
        virStreamEventUpdateCallback;
        virStreamEventRemoveCallback;
        virStreamFinish;
        virStreamAbort;
        virStreamFree;
} LIBVIRT_0.7.1;

LIBVIRT_0.8.0 {
    global:
        virNWFilterRef;
} LIBVIRT_0.7.7;

Comment 10 Daniel Berrangé 2010-07-08 10:01:03 UTC
Those omissions are all acceptable. No 'XXXRef' API is required in the Perl bindings, since those are for low level object reference counting - Perl has garbage collection avoiding this problem.  The virStream APIs are not currently useful to end applications - they're only used by libvirtd itself  during tunnelled migration, so there's no need to add to the Perl binding.

Comment 11 Gunannan Ren 2010-07-12 08:11:01 UTC
Ok, thanks, the bug has been verified on libvirt-0.8.1-13.el6.x86_64.

Comment 12 releng-rhel@redhat.com 2010-11-10 21:20:05 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.