diff options
author | Aravinda VK <avishwan@redhat.com> | 2016-08-31 08:33:44 +0530 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2016-09-09 03:29:33 -0700 |
commit | 5a1abd235d05809bc7a5c4b94ae7bb51add6fc9c (patch) | |
tree | 739eca4ca7fe1dbaab164e72f4eb447b2f0d178d /events/src/glustereventsd.py | |
parent | f41ec4fcfaa9ca976fddbe9e91aabf840c20111f (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.py | 21 |
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) |