diff options
author | John Dennis <jdennis@redhat.com> | 2012-02-06 13:15:06 -0500 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2012-02-09 13:20:28 -0600 |
commit | d1e0c1b606fe2a8edce5965cee9ab023a5e27676 (patch) | |
tree | 2fa6cb298fe06bf06536e0cc72f22e0d5c553bdf /init/SystemV/ipa_memcached.init | |
parent | af187713e774112a0c8315a691f4d0068b324e33 (diff) | |
download | freeipa-d1e0c1b606fe2a8edce5965cee9ab023a5e27676.tar.gz freeipa-d1e0c1b606fe2a8edce5965cee9ab023a5e27676.tar.xz freeipa-d1e0c1b606fe2a8edce5965cee9ab023a5e27676.zip |
Add ipa_memcached service
* Adds ipa_memcached SystemV initscript
* Adds ipa_memcached service file and tmpfiles.d/ipa.conf
to recreate /var/run/ipa_memcached on reboot.
* Adds ipa_memcached config file
* Adds memcacheinstnace.py to manage ipa_memcaced as
as SimpleService object.
* Updates the IPA service list to include ipa_memcached,
at service positon 39, httpd is position 40
* Updates the spec file:
- requires the memcached daemon and python client
- installs service or initscripts depending on OS
- installs config file
- creates /var/run/ipa_memcached directory
* Modifies ipa-server-install to install ipa_memcached
Diffstat (limited to 'init/SystemV/ipa_memcached.init')
-rwxr-xr-x | init/SystemV/ipa_memcached.init | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/init/SystemV/ipa_memcached.init b/init/SystemV/ipa_memcached.init new file mode 100755 index 000000000..a4673da53 --- /dev/null +++ b/init/SystemV/ipa_memcached.init @@ -0,0 +1,120 @@ +#! /bin/sh +# +# chkconfig: - 55 45 +# description: The ipa_memcached daemon is a memory cache service for IPA +# processname: memcached +# config: /etc/sysconfig/ipa_memcached +# pidfile: /var/run/ipa_memcached/ipa_memcached.pid + +# Standard LSB functions +#. /lib/lsb/init-functions + +# Source function library. +. /etc/init.d/functions + +SOCKET_PATH=/var/run/ipa_memcached/ipa_memcached +USER=apache +PIDFILE=/var/run/ipa_memcached/ipa_memcached.pid +MAXCONN=1024 +CACHESIZE=64 +OPTIONS="" + +if [ -f /etc/sysconfig/ipa_memcached ];then + . /etc/sysconfig/ipa_memcached +fi + +# Check that networking is up. +. /etc/sysconfig/network + +if [ "$NETWORKING" = "no" ] +then + exit 0 +fi + +prog="ipa_memcached" +pidfile=${PIDFILE-/var/run/ipa_memcached/ipa_memcached.pid} +lockfile=${LOCKFILE-/var/lock/subsys/ipa_memcached} + +start () { + echo -n $"Starting $prog: " + # Ensure that $pidfile directory has proper permissions and exists + piddir=`dirname $pidfile` + if [ ! -d $piddir ]; then + mkdir $piddir + fi + if [ "`stat -c %U $piddir`" != "$USER" ]; then + chown $USER $piddir + fi + + daemon --pidfile ${pidfile} /usr/bin/memcached -d -s ${SOCKET_PATH} -u ${USER} -m ${CACHESIZE} -c ${MAXCONN} -P ${pidfile} ${OPTIONS} + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch ${lockfile} + return $RETVAL +} + +stop () { + echo -n $"Stopping $prog: " + killproc -p ${pidfile} $prog + RETVAL=$? + echo + if [ $RETVAL -eq 0 ] ; then + rm -f ${lockfile} ${pidfile} + fi + return $RETVAL +} + +restart () { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +rh_status() { + # run checks to determine if the service is running or use generic status + status -p ${pidfile} $prog +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + +# See how we were called. +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 2 +esac +exit $? |