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 /extras | |
| 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 'extras')
| -rw-r--r-- | extras/init.d/Makefile.am | 11 | ||||
| -rw-r--r-- | extras/init.d/glustereventsd-FreeBSD.in | 19 | ||||
| -rw-r--r-- | extras/init.d/glustereventsd-Redhat.in | 129 | ||||
| -rw-r--r-- | extras/systemd/glustereventsd.service.in | 3 | 
4 files changed, 160 insertions, 2 deletions
diff --git a/extras/init.d/Makefile.am b/extras/init.d/Makefile.am index 8c43e513d77..bd8837bd9f7 100644 --- a/extras/init.d/Makefile.am +++ b/extras/init.d/Makefile.am @@ -1,5 +1,7 @@ -EXTRA_DIST = glusterd-Debian glusterd-FreeBSD glusterd-Redhat glusterd-SuSE glusterd.plist rhel5-load-fuse.modules +EXTRA_DIST = glusterd-Debian glusterd-FreeBSD glusterd-Redhat glusterd-SuSE \ +	glusterd.plist rhel5-load-fuse.modules \ +	glustereventsd-FreeBSD glustereventsd-Redhat  CLEANFILES = @@ -13,6 +15,13 @@ $(GF_DISTRIBUTION):  		$(INSTALL_PROGRAM) glusterd-$(GF_DISTRIBUTION) $(DESTDIR)$(INIT_DIR)/glusterd; \  	fi +if BUILD_EVENTS +	@if [ ! -d $(SYSTEMD_DIR) ]; then \ +		$(mkdir_p) $(DESTDIR)$(INIT_DIR); \ +		$(INSTALL_PROGRAM) glustereventsd-$(GF_DISTRIBUTION) $(DESTDIR)$(INIT_DIR)/glustereventsd; \ +	fi +endif +  install-exec-local: $(GF_DISTRIBUTION)  install-data-local: diff --git a/extras/init.d/glustereventsd-FreeBSD.in b/extras/init.d/glustereventsd-FreeBSD.in new file mode 100644 index 00000000000..2e8303ec6c6 --- /dev/null +++ b/extras/init.d/glustereventsd-FreeBSD.in @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: glustereventsd + +. /etc/rc.subr + +name="glustereventsd" +rcvar=`set_rcvar` +command=@prefix@/sbin/${name} +command_interpreter=/usr/local/bin/python +pidfile="/var/run/${name}.pid" +glustereventsd_flags="-p /var/run/${name}.pid" +start_cmd="/usr/sbin/daemon $command ${glustereventsd_flags}" + +load_rc_config $name +run_rc_command "$1" diff --git a/extras/init.d/glustereventsd-Redhat.in b/extras/init.d/glustereventsd-Redhat.in new file mode 100644 index 00000000000..d23ce4c244f --- /dev/null +++ b/extras/init.d/glustereventsd-Redhat.in @@ -0,0 +1,129 @@ +#!/bin/bash +# +# glustereventsd   Startup script for the glusterfs Events server +# +# chkconfig:   - 20 80 +# description: Gluster Events Server + +### BEGIN INIT INFO +# Provides: glustereventsd +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: glusterfs Events server +# Description:       GlusterFS Events Server +### END INIT INFO +# + +# Source function library. +. /etc/rc.d/init.d/functions + +BASE=glustereventsd + +# Fedora File System Layout dictates /run +[ -e /run ] && RUNDIR="/run" +PIDFILE="${RUNDIR:-/var/run}/${BASE}.pid" + +PID=`test -f $PIDFILE && cat $PIDFILE` + +GLUSTEREVENTSD_BIN=@prefix@/sbin/$BASE +GLUSTEREVENTSD_OPTS="--pid-file=$PIDFILE" +GLUSTEREVENTSD="$GLUSTEREVENTSD_BIN $GLUSTEREVENTSD_OPTS" +RETVAL=0 + +LOCKFILE=/var/lock/subsys/${BASE} + +# Start the service $BASE +start() +{ +       if pidofproc -p $PIDFILE $GLUSTEREVENTSD_BIN &> /dev/null; then +           echo "glustereventsd service is already running with pid $PID" +           return 0 +       else +           echo -n $"Starting $BASE:" +           daemon $GLUSTEREVENTSD & +           RETVAL=$? +           echo +           [ $RETVAL -eq 0 ] && touch $LOCKFILE +           return $RETVAL +       fi +} + +# Stop the service $BASE +stop() +{ +    echo -n $"Stopping $BASE:" +    if pidofproc -p $PIDFILE $GLUSTEREVENTSD_BIN &> /dev/null; then +        killproc -p $PIDFILE $BASE +    else +        killproc $BASE +    fi +    RETVAL=$? +    echo +    [ $RETVAL -eq 0 ] && rm -f $LOCKFILE +    return $RETVAL +} + +restart() +{ +    stop +    start +} + +reload() +{ +    restart +} + +force_reload() +{ +    restart +} + +rh_status() +{ +    status $BASE +} + +rh_status_q() +{ +    rh_status &>/dev/null +} + + +### service arguments ### +case $1 in +    start) +        rh_status_q && exit 0 +        $1 +        ;; +    stop) +        rh_status_q || exit 0 +        $1 +        ;; +    restart) +        $1 +        ;; +    reload) +        rh_status_q || exit 7 +        $1 +        ;; +    force-reload) +        force_reload +        ;; +    status) +        rh_status +        ;; +    condrestart|try-restart) +        rh_status_q || exit 0 +        restart +        ;; +    *) +        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" +        exit 1 +esac + +exit $? diff --git a/extras/systemd/glustereventsd.service.in b/extras/systemd/glustereventsd.service.in index 75cca16128f..4bfcf42f386 100644 --- a/extras/systemd/glustereventsd.service.in +++ b/extras/systemd/glustereventsd.service.in @@ -5,9 +5,10 @@ After=syslog.target network.target  [Service]  Environment=PYTHONPATH=@BUILD_PYTHON_SITE_PACKAGES_EXPANDED@:$PYTHONPATH  Type=simple -ExecStart=@SBIN_DIR@/glustereventsd +ExecStart=@SBIN_DIR@/glustereventsd --pid-file @localstatedir@/run/glustereventsd.pid  ExecReload=/bin/kill -SIGUSR2 $MAINPID  KillMode=control-group +PIDFile=@localstatedir@/run/glustereventsd.pid  [Install]  WantedBy=multi-user.target  | 
