|
|
3604df |
From bcacbcec4bc3d2dd1c11e6b64d39a422a08d9b34 Mon Sep 17 00:00:00 2001
|
|
|
3604df |
From: Avra Sengupta <asengupt@redhat.com>
|
|
|
3604df |
Date: Fri, 18 Nov 2016 13:13:21 +0530
|
|
|
3604df |
Subject: [PATCH 178/206] snapshot/scheduler: Removing dependency of scheduler
|
|
|
3604df |
on eventing
|
|
|
3604df |
|
|
|
3604df |
> Reviewed-on: http://review.gluster.org/15876
|
|
|
3604df |
> Reviewed-by: Aravinda VK <avishwan@redhat.com>
|
|
|
3604df |
> Smoke: Gluster Build System <jenkins@build.gluster.org>
|
|
|
3604df |
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
|
|
|
3604df |
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
|
|
|
3604df |
> Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
|
|
|
3604df |
|
|
|
3604df |
(cherry picked from commit 6b2c40d337bd30eea3ce56a71db8864e61a9a411)
|
|
|
3604df |
|
|
|
3604df |
Change-Id: I7de156d8186c32092ec5e9d174d023f4782947c0
|
|
|
3604df |
BUG: 1396361
|
|
|
3604df |
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
|
|
|
3604df |
Reviewed-on: https://code.engineering.redhat.com/gerrit/90659
|
|
|
3604df |
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
|
|
|
3604df |
---
|
|
|
3604df |
extras/snap_scheduler/snap_scheduler.py | 77 ++++++++++++++++++++++++++-------
|
|
|
3604df |
1 file changed, 61 insertions(+), 16 deletions(-)
|
|
|
3604df |
|
|
|
3604df |
diff --git a/extras/snap_scheduler/snap_scheduler.py b/extras/snap_scheduler/snap_scheduler.py
|
|
|
3604df |
index 23d5aa3..b426cc7 100755
|
|
|
3604df |
--- a/extras/snap_scheduler/snap_scheduler.py
|
|
|
3604df |
+++ b/extras/snap_scheduler/snap_scheduler.py
|
|
|
3604df |
@@ -21,8 +21,48 @@ import shutil
|
|
|
3604df |
from errno import EEXIST
|
|
|
3604df |
from conf import GLUSTERFS_LIBEXECDIR
|
|
|
3604df |
sys.path.insert(1, GLUSTERFS_LIBEXECDIR)
|
|
|
3604df |
-from events.gf_event import gf_event
|
|
|
3604df |
-from events import eventtypes
|
|
|
3604df |
+
|
|
|
3604df |
+EVENTS_ENABLED = True
|
|
|
3604df |
+try:
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_INITIALISED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_INITIALISED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_INIT_FAILED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_INIT_FAILED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_DISABLED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_DISABLED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_DISABLE_FAILED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_DISABLE_FAILED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_ENABLED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_ENABLED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_ENABLE_FAILED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_ENABLE_FAILED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_SCHEDULE_ADDED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_ADDED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_SCHEDULE_ADD_FAILED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_ADD_FAILED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_SCHEDULE_DELETED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_DELETED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_SCHEDULE_DELETE_FAILED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_DELETE_FAILED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_SCHEDULE_EDITED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_EDITED
|
|
|
3604df |
+ from events.eventtypes import SNAPSHOT_SCHEDULER_SCHEDULE_EDIT_FAILED \
|
|
|
3604df |
+ as EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_EDIT_FAILED
|
|
|
3604df |
+except ImportError:
|
|
|
3604df |
+ # Events APIs not installed, dummy eventtypes with None
|
|
|
3604df |
+ EVENTS_ENABLED = False
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_INITIALISED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_INIT_FAILED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_DISABLED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_DISABLE_FAILED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_ENABLED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_ENABLE_FAILED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_ADDED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_ADD_FAILED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_DELETED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_DELETE_FAILED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_EDITED = None
|
|
|
3604df |
+ EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_EDIT_FAILED = None
|
|
|
3604df |
|
|
|
3604df |
SCRIPT_NAME = "snap_scheduler"
|
|
|
3604df |
scheduler_enabled = False
|
|
|
3604df |
@@ -538,7 +578,7 @@ def initialise_scheduler():
|
|
|
3604df |
|
|
|
3604df |
log.info("Successfully initialised snapshot scheduler for this node")
|
|
|
3604df |
output("Successfully initialised snapshot scheduler for this node")
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_INITIALISED, status="Success")
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_INITIALISED, status="Success")
|
|
|
3604df |
|
|
|
3604df |
ret = 0
|
|
|
3604df |
return ret
|
|
|
3604df |
@@ -585,7 +625,7 @@ def perform_operation(args):
|
|
|
3604df |
ret = initialise_scheduler()
|
|
|
3604df |
if ret != 0:
|
|
|
3604df |
output("Failed to initialise snapshot scheduling")
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_INIT_FAILED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_INIT_FAILED,
|
|
|
3604df |
error=print_error(ret))
|
|
|
3604df |
return ret
|
|
|
3604df |
|
|
|
3604df |
@@ -594,10 +634,10 @@ def perform_operation(args):
|
|
|
3604df |
ret = disable_scheduler()
|
|
|
3604df |
if ret == 0:
|
|
|
3604df |
subprocess.Popen(["touch", "-h", GCRON_TASKS])
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_DISABLED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_DISABLED,
|
|
|
3604df |
status="Successfuly Disabled")
|
|
|
3604df |
else:
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_DISABLE_FAILED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_DISABLE_FAILED,
|
|
|
3604df |
error=print_error(ret))
|
|
|
3604df |
return ret
|
|
|
3604df |
|
|
|
3604df |
@@ -629,10 +669,10 @@ def perform_operation(args):
|
|
|
3604df |
ret = enable_scheduler()
|
|
|
3604df |
if ret == 0:
|
|
|
3604df |
subprocess.Popen(["touch", "-h", GCRON_TASKS])
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_ENABLED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_ENABLED,
|
|
|
3604df |
status="Successfuly Enabled")
|
|
|
3604df |
else:
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_ENABLE_FAILED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_ENABLE_FAILED,
|
|
|
3604df |
error=print_error(ret))
|
|
|
3604df |
return ret
|
|
|
3604df |
|
|
|
3604df |
@@ -641,10 +681,10 @@ def perform_operation(args):
|
|
|
3604df |
ret = disable_scheduler()
|
|
|
3604df |
if ret == 0:
|
|
|
3604df |
subprocess.Popen(["touch", "-h", GCRON_TASKS])
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_DISABLED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_DISABLED,
|
|
|
3604df |
status="Successfuly Disabled")
|
|
|
3604df |
else:
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_DISABLE_FAILED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_DISABLE_FAILED,
|
|
|
3604df |
error=print_error(ret))
|
|
|
3604df |
return ret
|
|
|
3604df |
|
|
|
3604df |
@@ -661,10 +701,10 @@ def perform_operation(args):
|
|
|
3604df |
ret = add_schedules(args.jobname, args.schedule, args.volname)
|
|
|
3604df |
if ret == 0:
|
|
|
3604df |
subprocess.Popen(["touch", "-h", GCRON_TASKS])
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_SCHEDULE_ADDED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_ADDED,
|
|
|
3604df |
status="Successfuly added job "+args.jobname)
|
|
|
3604df |
else:
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_SCHEDULE_ADD_FAILED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_ADD_FAILED,
|
|
|
3604df |
status="Failed to add job "+args.jobname,
|
|
|
3604df |
error=print_error(ret))
|
|
|
3604df |
return ret
|
|
|
3604df |
@@ -677,10 +717,10 @@ def perform_operation(args):
|
|
|
3604df |
ret = delete_schedules(args.jobname)
|
|
|
3604df |
if ret == 0:
|
|
|
3604df |
subprocess.Popen(["touch", "-h", GCRON_TASKS])
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_SCHEDULE_DELETED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_DELETED,
|
|
|
3604df |
status="Successfuly deleted job "+args.jobname)
|
|
|
3604df |
else:
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_SCHEDULE_DELETE_FAILED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_DELETE_FAILED,
|
|
|
3604df |
status="Failed to delete job "+args.jobname,
|
|
|
3604df |
error=print_error(ret))
|
|
|
3604df |
return ret
|
|
|
3604df |
@@ -693,10 +733,10 @@ def perform_operation(args):
|
|
|
3604df |
ret = edit_schedules(args.jobname, args.schedule, args.volname)
|
|
|
3604df |
if ret == 0:
|
|
|
3604df |
subprocess.Popen(["touch", "-h", GCRON_TASKS])
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_SCHEDULE_EDITED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_EDITED,
|
|
|
3604df |
status="Successfuly edited job "+args.jobname)
|
|
|
3604df |
else:
|
|
|
3604df |
- gf_event (eventtypes.SNAPSHOT_SCHEDULER_SCHEDULE_EDIT_FAILED,
|
|
|
3604df |
+ gf_event (EVENT_SNAPSHOT_SCHEDULER_SCHEDULE_EDIT_FAILED,
|
|
|
3604df |
status="Failed to edit job "+args.jobname,
|
|
|
3604df |
error=print_error(ret))
|
|
|
3604df |
return ret
|
|
|
3604df |
@@ -704,6 +744,11 @@ def perform_operation(args):
|
|
|
3604df |
ret = INVALID_ARG
|
|
|
3604df |
return ret
|
|
|
3604df |
|
|
|
3604df |
+def gf_event(event_type, **kwargs):
|
|
|
3604df |
+ if EVENTS_ENABLED:
|
|
|
3604df |
+ from events.gf_event import gf_event as gfevent
|
|
|
3604df |
+ gfevent(event_type, **kwargs)
|
|
|
3604df |
+
|
|
|
3604df |
|
|
|
3604df |
def main(argv):
|
|
|
3604df |
initLogger()
|
|
|
3604df |
--
|
|
|
3604df |
2.9.3
|
|
|
3604df |
|