diff options
Diffstat (limited to 'sys-cluster/moosefs/files')
-rw-r--r-- | sys-cluster/moosefs/files/mfs.confd | 11 | ||||
-rw-r--r-- | sys-cluster/moosefs/files/mfs.initd-r1 | 96 | ||||
-rw-r--r-- | sys-cluster/moosefs/files/mfscgiserver.confd | 9 | ||||
-rw-r--r-- | sys-cluster/moosefs/files/mfscgiserver.initd-r1 | 29 |
4 files changed, 145 insertions, 0 deletions
diff --git a/sys-cluster/moosefs/files/mfs.confd b/sys-cluster/moosefs/files/mfs.confd new file mode 100644 index 000000000000..423795e33355 --- /dev/null +++ b/sys-cluster/moosefs/files/mfs.confd @@ -0,0 +1,11 @@ +# Which mooseFS roles should we start ? +# +# NOTE: The roles are stopped in *reverse* order of the given list +# so make sure to list mfsmaster *before* the other roles. +# +# Possible values: mfsmaster mfsmetalogger mfschunkserver +#ROLES="" + +# If the role mfsmaster fails to start, should we try to run mfsmetarestore -a ? +# Possible values: 0 (no), 1 (yes) +AUTORESTORE=0
\ No newline at end of file diff --git a/sys-cluster/moosefs/files/mfs.initd-r1 b/sys-cluster/moosefs/files/mfs.initd-r1 new file mode 100644 index 000000000000..9c9e7a39b7ba --- /dev/null +++ b/sys-cluster/moosefs/files/mfs.initd-r1 @@ -0,0 +1,96 @@ +#!/sbin/runscript + +extra_started_commands="reload" + +depend() { + need net +} + +chkconfig() { + [ -z "${ROLES}" ] && { eerror "No role defined !"; return 1;} + for ROLE in ${ROLES}; do + if [ ! -f /etc/mfs/${ROLE}.cfg ]; then + eerror "Missing configuration file for role ${ROLE} !" + return 1 + fi + done + return 0 +} + +autorestore() { + einfo "AUTORESTORE set, trying to restore metadata files" + mfsmetarestore -a &>/dev/null + return $? +} + +start_role() { + local ROLE=$1 + local RETURN=0 + + ebegin "${ROLE}" + start-stop-daemon -q --start --exec "${ROLE}" -- start >/dev/null + RETURN=$? + eend ${RETURN} + + return ${RETURN} +} + +start_roles() { + local RETURN=0 + + eindent + for ROLE in ${ROLES}; do + + start_role ${ROLE} || RETURN=$? + eend ${RETURN} + + if [ "${RETURN}" != "0" ] && [ "${ROLE}" == "mfsmaster" ] && [ ${AUTORESTORE} -eq 1 ]; then + eindent + autorestore && start_role ${ROLE} + RETURN=$? + eoutdent + fi + + [ "${RETURN}" != "0" ] && break + done + eoutdent + + return ${RETURN} +} + +start() { + ebegin "Starting mfs node" + chkconfig && start_roles + eend $? +} + +stop() { + local RETURN=0 + + ebegin "Stopping mfs node" + eindent + local REVERSE=$(echo ${ROLES} | tac -s' ') + for ROLE in ${REVERSE}; do + ebegin "${ROLE}" + start-stop-daemon -q --stop -n ${ROLE} || RETURN=$? + eend ${RETURN} + done + eoutdent + + eend ${RETURN} +} + +reload() { + local RETURN=0 + + ebegin "Reloading mfs node" + eindent + for ROLE in ${ROLES}; do + ebegin "${ROLE}" + start-stop-daemon --signal HUP -n ${ROLE} + eend ${RETURN} + done + eoutdent + + eend ${RETURN} +} diff --git a/sys-cluster/moosefs/files/mfscgiserver.confd b/sys-cluster/moosefs/files/mfscgiserver.confd new file mode 100644 index 000000000000..ae93c54f4f94 --- /dev/null +++ b/sys-cluster/moosefs/files/mfscgiserver.confd @@ -0,0 +1,9 @@ +# MooseFS HTTP/CGI server configuration. + +# BIND_HOST: local address to listen on +# default: any +BIND_HOST="0.0.0.0" + +# BIND_PORT: port to listen on +# default: 9425 +BIND_PORT=9425 diff --git a/sys-cluster/moosefs/files/mfscgiserver.initd-r1 b/sys-cluster/moosefs/files/mfscgiserver.initd-r1 new file mode 100644 index 000000000000..b4ebd1f9d1c2 --- /dev/null +++ b/sys-cluster/moosefs/files/mfscgiserver.initd-r1 @@ -0,0 +1,29 @@ +#!/sbin/runscript + +PIDFILE=/var/run/mfscgiserv.pid + +extra_started_commands="reload" + +depend() { + need net +} + +start() { + ebegin "Starting mfs CGI server" + start-stop-daemon --start --quiet --exec /usr/sbin/mfscgiserv \ + --pidfile "${PIDFILE}" --make-pidfile --background \ + -- -H ${BIND_HOST} -P ${BIND_PORT} -f + eend $? +} + +stop() { + ebegin "Stopping mfs CGI server" + start-stop-daemon --stop -q --pidfile "${PIDFILE}" + eend $? +} + +reload() { + ebegin "Reloading mfs CGI server" + start-stop-daemon --signal HUP --pidfile "${PIDFILE}" + eend $? +} |