summaryrefslogtreecommitdiffstats
path: root/events/src/glustereventsd.py
diff options
context:
space:
mode:
authorAravinda VK <avishwan@redhat.com>2016-08-31 08:33:44 +0530
committerAravinda VK <avishwan@redhat.com>2016-09-09 03:29:33 -0700
commit5a1abd235d05809bc7a5c4b94ae7bb51add6fc9c (patch)
tree739eca4ca7fe1dbaab164e72f4eb447b2f0d178d /events/src/glustereventsd.py
parentf41ec4fcfaa9ca976fddbe9e91aabf840c20111f (diff)
eventsapi: Add Init scripts for different distributions
Added init scripts for - SysvInit(CentOS 6 or Red Hat 6) - rc.d (FreeBSD) Most of the latest distributions are using systemd. Support to be added for other distributions which are not using systemd. Removed systemctl wrapper functions(start/stop/status) from gluster-eventsapi CLI(peer_eventsapi.py). Status and Reload re-implemented using pid file check. Added pid file support for glustereventsd. Following dependencies removed python-flask - Only used for example dashboard. User can install if required. python-fasteners - Not available for EPEL 6, added custom code using fcntl as replacement. BUG: 1365395 Change-Id: I26792eae9b11e93304f70b3997cd7d8d03b067f4 Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/15367 Smoke: Gluster Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Niels de Vos <ndevos@redhat.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'events/src/glustereventsd.py')
-rw-r--r--events/src/glustereventsd.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/events/src/glustereventsd.py b/events/src/glustereventsd.py
index 91a0743ff22..d057e097c97 100644
--- a/events/src/glustereventsd.py
+++ b/events/src/glustereventsd.py
@@ -15,12 +15,13 @@ import sys
import signal
import SocketServer
import socket
+from argparse import ArgumentParser, RawDescriptionHelpFormatter
from eventtypes import all_events
import handlers
import utils
-from eventsapiconf import SERVER_ADDRESS
-from utils import logger
+from eventsapiconf import SERVER_ADDRESS, PID_FILE
+from utils import logger, PidFile, PidFileLockFailed
class GlusterEventsRequestHandler(SocketServer.BaseRequestHandler):
@@ -90,9 +91,23 @@ def init_event_server():
server.serve_forever()
+def get_args():
+ parser = ArgumentParser(formatter_class=RawDescriptionHelpFormatter,
+ description=__doc__)
+ parser.add_argument("-p", "--pid-file", help="PID File",
+ default=PID_FILE)
+
+ return parser.parse_args()
+
+
def main():
+ args = get_args()
try:
- init_event_server()
+ with PidFile(args.pid_file):
+ init_event_server()
+ except PidFileLockFailed as e:
+ sys.stderr.write("Failed to get lock for pid file({0}): {1}".format(
+ args.pid_file, e))
except KeyboardInterrupt:
sys.exit(1)