summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorJohn Dennis <jdennis@redhat.com>2012-02-06 13:15:06 -0500
committerEndi S. Dewata <edewata@redhat.com>2012-02-09 13:20:28 -0600
commitd1e0c1b606fe2a8edce5965cee9ab023a5e27676 (patch)
tree2fa6cb298fe06bf06536e0cc72f22e0d5c553bdf /init
parentaf187713e774112a0c8315a691f4d0068b324e33 (diff)
downloadfreeipa-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')
-rwxr-xr-xinit/SystemV/ipa_memcached.init120
-rw-r--r--init/ipa_memcached.conf5
-rw-r--r--init/systemd/ipa.conf.tmpfiles1
-rw-r--r--init/systemd/ipa_memcached.service12
4 files changed, 138 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 $?
diff --git a/init/ipa_memcached.conf b/init/ipa_memcached.conf
new file mode 100644
index 000000000..19d912742
--- /dev/null
+++ b/init/ipa_memcached.conf
@@ -0,0 +1,5 @@
+SOCKET_PATH=/var/run/ipa_memcached/ipa_memcached
+USER=apache
+MAXCONN=1024
+CACHESIZE=64
+OPTIONS=
diff --git a/init/systemd/ipa.conf.tmpfiles b/init/systemd/ipa.conf.tmpfiles
new file mode 100644
index 000000000..e4b679a55
--- /dev/null
+++ b/init/systemd/ipa.conf.tmpfiles
@@ -0,0 +1 @@
+d /var/run/ipa_memcached 0700 apache apache
diff --git a/init/systemd/ipa_memcached.service b/init/systemd/ipa_memcached.service
new file mode 100644
index 000000000..a4857cd4a
--- /dev/null
+++ b/init/systemd/ipa_memcached.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=IPA memcached daemon, increases IPA server performance
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/ipa_memcached
+PIDFile=/var/run/ipa_memcached/ipa_memcached.pid
+ExecStart=/usr/bin/memcached -d -s $SOCKET_PATH -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/ipa_memcached/ipa_memcached.pid $OPTIONS
+
+[Install]
+WantedBy=multi-user.target