diff options
| author | Aravinda VK <avishwan@redhat.com> | 2016-09-21 17:43:00 +0530 | 
|---|---|---|
| committer | Aravinda VK <avishwan@redhat.com> | 2016-09-28 23:22:28 -0700 | 
| commit | 567dee257e092401cdf0a62d4b89e13c39a0a5aa (patch) | |
| tree | ed022b6e9df583bccdfb3566bbe2533cd512e083 /geo-replication | |
| parent | 4721188a154acd9a0a4c096d8d73e97f3bf1b2a9 (diff) | |
eventsapi/geo-rep: Geo-rep will not work without eventsapi rpms
If glusterfs-events rpm is not installed, Geo-replication will
fail since it imports eventtypes.
Any call to gsyncd will fail with Import error. Glusterd start
fails since it runs `gsyncd.py --version`
Traceback (most recent call last):
  File "/usr/libexec/glusterfs/python/syncdaemon/gsyncd.py",
    line 29, in <module>
      from syncdutils import FreeObject, norm, grabpidfile, finalize
  File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py",
    line 28, in <module>
      from events import eventtypes
ImportError: No module named events
BUG: 1378057
Change-Id: I1a9bc086c3d52449ec7296cb2f9ceb16cd41a8a4
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/15539
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Diffstat (limited to 'geo-replication')
| -rw-r--r-- | geo-replication/syncdaemon/monitor.py | 4 | ||||
| -rw-r--r-- | geo-replication/syncdaemon/syncdutils.py | 13 | 
2 files changed, 12 insertions, 5 deletions
diff --git a/geo-replication/syncdaemon/monitor.py b/geo-replication/syncdaemon/monitor.py index a624fe44d8e..22cd1cc3a86 100644 --- a/geo-replication/syncdaemon/monitor.py +++ b/geo-replication/syncdaemon/monitor.py @@ -25,7 +25,7 @@ from gconf import gconf  from syncdutils import select, waitpid, errno_wrap  from syncdutils import set_term_handler, is_host_local, GsyncdError  from syncdutils import escape, Thread, finalize, memoize -from syncdutils import gf_event, eventtypes +from syncdutils import gf_event, EVENT_GEOREP_FAULTY  from gsyncdstatus import GeorepStatus, set_monitor_status @@ -375,7 +375,7 @@ class Monitor(object):                  ret = exit_status(ret)                  if ret in (0, 1):                      self.status[w[0]['dir']].set_worker_status(self.ST_FAULTY) -                    gf_event(eventtypes.GEOREP_FAULTY, +                    gf_event(EVENT_GEOREP_FAULTY,                               master_volume=master.volume,                               master_node=w[0]['host'],                               slave_host=slave_host, diff --git a/geo-replication/syncdaemon/syncdutils.py b/geo-replication/syncdaemon/syncdutils.py index 8629850cd40..5dabbeaccef 100644 --- a/geo-replication/syncdaemon/syncdutils.py +++ b/geo-replication/syncdaemon/syncdutils.py @@ -25,7 +25,13 @@ from os import waitpid as owaitpid  from conf import GLUSTERFS_LIBEXECDIR  sys.path.insert(1, GLUSTERFS_LIBEXECDIR) -from events import eventtypes +EVENTS_ENABLED = True +try: +    from events.eventtypes import GEOREP_FAULTY as EVENT_GEOREP_FAULTY +except ImportError: +    # Events APIs not installed, dummy eventtypes with None +    EVENTS_ENABLED = False +    EVENT_GEOREP_FAULTY = None  try:      from cPickle import PickleError @@ -516,8 +522,9 @@ class ChangelogException(OSError):  def gf_event(event_type, **kwargs): -    from events.gf_event import gf_event as gfevent -    gfevent(event_type, **kwargs) +    if EVENTS_ENABLED: +        from events.gf_event import gf_event as gfevent +        gfevent(event_type, **kwargs)  class GlusterLogLevel(object):  | 
