Bug 1005146

Summary: Install gfapi.py in Python site-packages for easy access/usage
Product: [Community] GlusterFS Reporter: Niels de Vos <ndevos>
Component: buildAssignee: Niels de Vos <ndevos>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: medium    
Version: mainlineCC: gluster-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.4.3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-04-17 13:14:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Niels de Vos 2013-09-06 10:03:04 UTC
Description of problem:

<glusterfs.git>/api/examples/gfapi.py can be used by Python scripts to access the contents of volumes without going through the FUSE native client. After showing a simple example during the Gluster Community Day in Stockholm (4 Sept. 2013), it was requested to have the library installed by the RPMs.


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

Current git/master


Expected results:

/usr/lib/python*/site-packages/gfapi.py is installed by the glusterfs-api package. Importing the library should work without issues:

    $ python -c "import gfapi"

Comment 1 Anand Avati 2013-09-06 10:19:42 UTC
REVIEW: http://review.gluster.org/5835 (gfapi.py: support dynamic loading of versioned libraries) posted (#1) for review on master by Niels de Vos (ndevos)

Comment 2 Anand Avati 2013-09-06 15:13:02 UTC
REVIEW: http://review.gluster.org/5835 (gfapi.py: support dynamic loading of versioned libraries) posted (#2) for review on master by Niels de Vos (ndevos)

Comment 3 Anand Avati 2013-09-11 08:32:21 UTC
REVIEW: http://review.gluster.org/5835 (gfapi.py: support dynamic loading of versioned libraries) posted (#3) for review on master by Niels de Vos (ndevos)

Comment 4 Anand Avati 2013-09-11 13:28:23 UTC
REVIEW: http://review.gluster.org/5835 (gfapi.py: support dynamic loading of versioned libraries) posted (#4) for review on master by Niels de Vos (ndevos)

Comment 5 Anand Avati 2013-09-30 07:08:03 UTC
REVIEW: http://review.gluster.org/5835 (gfapi.py: support dynamic loading of versioned libraries) posted (#5) for review on master by Niels de Vos (ndevos)

Comment 6 Anand Avati 2013-10-02 20:04:09 UTC
COMMIT: http://review.gluster.org/5835 committed in master by Anand Avati (avati) 
------
commit c499ef86a2dfd4e7727ce876b6cf18ba79c94fe5
Author: Niels de Vos <ndevos>
Date:   Mon Sep 30 09:05:14 2013 +0200

    gfapi.py: support dynamic loading of versioned libraries
    
    Currently gfapi.py only loads libraries by filename ending in ".so".  On
    an installed system without development packages, the <lib>.so filenames
    are not available. ctypes.util.find_library() can be used to detect the
    files dynamically.
    
    In addition to this, also fixing some minor indention errors and package
    the library into the Python site-packages path. Python applications and
    libraries can now access libgfapi through 'from glusterfs import gfapi'.
    
    Change-Id: I71e38dabd3ade5dcf24813bf2fc25cda91b571c6
    BUG: 1005146
    Signed-off-by: Niels de Vos <ndevos>
    Reviewed-on: http://review.gluster.org/5835
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Tested-by: Gluster Build System <jenkins.com>

Comment 7 Anand Avati 2013-12-23 15:53:07 UTC
REVIEW: http://review.gluster.org/6581 (gfapi.py: support dynamic loading of versioned libraries) posted (#1) for review on release-3.4 by Niels de Vos (ndevos)

Comment 8 Anand Avati 2013-12-24 12:12:31 UTC
COMMIT: http://review.gluster.org/6581 committed in release-3.4 by Vijay Bellur (vbellur) 
------
commit b2ee85b3e452678c330c25bf32c522090bb320fc
Author: Niels de Vos <ndevos>
Date:   Mon Sep 30 09:05:14 2013 +0200

    gfapi.py: support dynamic loading of versioned libraries
    
    Currently gfapi.py only loads libraries by filename ending in ".so".  On
    an installed system without development packages, the <lib>.so filenames
    are not available. ctypes.util.find_library() can be used to detect the
    files dynamically.
    
    In addition to this, also fixing some minor indention errors and package
    the library into the Python site-packages path. Python applications and
    libraries can now access libgfapi through 'from glusterfs import gfapi'.
    
    Change and review in the master branch:
    > Change-Id: I71e38dabd3ade5dcf24813bf2fc25cda91b571c6
    > Signed-off-by: Niels de Vos <ndevos>
    > Reviewed-on: http://review.gluster.org/5835
    > Reviewed-by: Kaleb KEITHLEY <kkeithle>
    
    BUG: 1005146
    Change-Id: Id7665fe5140111be7bf2038454fb775c70b15993
    Signed-off-by: Niels de Vos <ndevos>
    Reviewed-on: http://review.gluster.org/6581
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 9 Niels de Vos 2014-04-17 13:14:26 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.4.3, please reopen this bug report.

glusterfs-3.4.3 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should already be or become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

The fix for this bug likely to be included in all future GlusterFS releases i.e. release > 3.4.3. In the same line the recent release i.e. glusterfs-3.5.0 [3] likely to have the fix. You can verify this by reading the comments in this bug report and checking for comments mentioning "committed in release-3.5".

[1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/5978
[2] http://news.gmane.org/gmane.comp.file-systems.gluster.user
[3] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137