Bug 1374587

Summary: gf_event python fails with ImportError
Product: [Community] GlusterFS Reporter: Aravinda VK <avishwan>
Component: eventsapiAssignee: Aravinda VK <avishwan>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: amukherj
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.10.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1375537 (view as bug list) Environment:
Last Closed: 2017-03-06 17:25:17 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1351589, 1375537    

Description Aravinda VK 2016-09-09 07:17:55 UTC
Description of problem:

Calling gf_event causes import error for python-requests library. 

ImportError: No module named requests

As a workaround, we can install python-requests but this library not required if we are not using Events feature.

Traceback (most recent call last):
  File "/usr/local/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 313, in twrap
    tf(*aa)
  File "/usr/local/libexec/glusterfs/python/syncdaemon/monitor.py", line 403, in wmon
    slave_host, master)
  File "/usr/local/libexec/glusterfs/python/syncdaemon/monitor.py", line 384, in monitor
    brick_path=w[0]['dir'])
  File "/usr/local/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 519, in gf_event
    from events.gf_event import gf_event as gfevent
  File "/usr/local/libexec/glusterfs/events/gf_event.py", line 19, in <module>
    from utils import logger, setup_logger, get_config
  File "/usr/local/libexec/glusterfs/events/utils.py", line 16, in <module>
    import requests
ImportError: No module named requests

Comment 1 Worker Ant 2016-09-09 07:19:09 UTC
REVIEW: http://review.gluster.org/15439 (eventsapi: Add conditional import for requests library) posted (#1) for review on master by Aravinda VK (avishwan)

Comment 2 Worker Ant 2016-09-09 12:59:54 UTC
COMMIT: http://review.gluster.org/15439 committed in master by Aravinda VK (avishwan) 
------
commit aa742fd88e08eeb807dba1cb98402e8813ec6797
Author: Aravinda VK <avishwan>
Date:   Fri Sep 9 12:40:38 2016 +0530

    eventsapi: Add conditional import for requests library
    
    requests lib is used only during publishing event. gf_event python
    imports utils.py, and indirectly imports requests lib even though
    it is not required while sending event to eventsd.
    
    Moved "import requests" inside the "plugin_webhook" function.
    
    BUG: 1374587
    Change-Id: Ie3c8088b43d4d7952d01352731999bf8519c73c4
    Signed-off-by: Aravinda VK <avishwan>
    Reviewed-on: http://review.gluster.org/15439
    Reviewed-by: Prashanth Pai <ppai>
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Kotresh HR <khiremat>
    CentOS-regression: Gluster Build System <jenkins.org>

Comment 3 Shyamsundar 2017-03-06 17:25:17 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.10.0, please open a new bug report.

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

[1] http://lists.gluster.org/pipermail/gluster-users/2017-February/030119.html
[2] https://www.gluster.org/pipermail/gluster-users/