summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/cman/files/cman.initd-3.1.5-r1')
-rw-r--r--sys-cluster/cman/files/cman.initd-3.1.5-r1349
1 files changed, 0 insertions, 349 deletions
diff --git a/sys-cluster/cman/files/cman.initd-3.1.5-r1 b/sys-cluster/cman/files/cman.initd-3.1.5-r1
deleted file mode 100644
index 04cf5f2e7f9e..000000000000
--- a/sys-cluster/cman/files/cman.initd-3.1.5-r1
+++ /dev/null
@@ -1,349 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-CMAN_TOOL="/usr/sbin/cman_tool"
-FENCE_TOOL="/usr/sbin/fence_tool"
-GFS_CONTROLD="/usr/sbin/gfs_controld"
-DLM_CONTROLD="/usr/sbin/dlm_controld"
-GROUPD="/usr/sbin/groupd"
-FENCED="/usr/sbin/fenced"
-CCSD="/usr/sbin/ccsd"
-
-[ -z "$CCSD_OPTS" ] && CCSD_OPTS=""
-[ -z "$CMAN_CLUSTER_TIMEOUT" ] && CMAN_CLUSTER_TIMEOUT=120
-[ -z "$CMAN_QUORUM_TIMEOUT" ] && CMAN_QUORUM_TIMEOUT=0
-[ -z "$CMAN_SHUTDOWN_TIMEOUT" ] && CMAN_SHUTDOWN_TIMEOUT=60
-[ -z "$FENCED_START_TIMEOUT" ] && FENCED_START_TIMEOUT=300
-[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=300
-
-depend() {
- use net
- after xend
- after xendomains
- provide cman
-}
-
-load_modules() {
- local module modules
- modules=$1
-
- rcS=0 # catch the first error here
- [ -f /proc/modules ] && for module in ${modules}; do
- ebegin "Loading ${module} kernel module"
- modprobe -q ${module}
- rc=$? # error for this modprobe call
- eend $rc "Failed to load ${module} kernel module"
- [ $rc -ne 0 ] && rcS=$rc
- done
- return $rcS
-}
-
-unload_modules() {
- local module modules
- modules=$1
-
- [ -f /proc/modules ] && for module in ${modules}; do
- ebegin "Unloading ${module} kernel module"
- modprobe -r ${module} > /dev/null
- eend $? "Failed to unload ${module} kernel module"
- done
-}
-
-check_configfs() {
- awk '{ print $2 }' /proc/mounts | grep -sq "/sys/kernel/config" \
- && awk '{ print $3 }' /proc/mounts | grep -sq "configfs"
-
- if [ $? -ne 0 ]; then
- ewarn "Please add the following line to /etc/fstab:"
- ewarn "none configfs /sys/kernel/config defaults 0 0"
- eend 1 "configfs not mounted at /sys/kernel/config"
- fi
-}
-
-mount_configfs()
-{
- local module=$(awk '$2 == "configfs" { print $2 }' /proc/filesystems)
-
- if [ -z "${module}" ]; then
- load_modules "configfs"
- rc=$?
- sleep 1s
- [ $rc -ne 0 ] && return 1
- fi
-
- # configfs
- awk '{ print $2 }' /proc/mounts | grep -sq "/sys/kernel/config" \
- && awk '{ print $3 }' /proc/mounts | grep -sq "configfs"
- rc=$?
-
- if [ $rc -ne 0 ]
- then
- ebegin "Mounting ConfigFS"
- /bin/mount -t configfs none /sys/kernel/config 2>&1
- rc=$?
- eend $rc
- fi
-
- return $rc
-}
-
-umount_configfs() {
- local sig retry
- local entry entries
-
- entries="$(awk '$3 == "configfs" { print $2 }' /proc/mounts | sort -r)"
-
- for entry in $entries; do
- ebegin "Unmounting ConfigFS"
- umount $entry >/dev/null 2>&1
- eend $?
- done
-
- local module=$(awk '$1 == "configfs" { print $1 }' /proc/modules)
-
- if [ ! -z "${module}" ]; then
- unload_modules "configfs"
- sleep 1s
- fi
-}
-
-umount_gfs_filesystems() {
- local sig retry
- local remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { print $2 }' /proc/mounts | sort -r)"
-
- if [ -n "${remaining}" ]
- then
- sig=
- retry=3
- while [ -n "${remaining}" -a "${retry}" -gt 0 ]
- do
- if [ "${retry}" -lt 3 ]
- then
- ebegin "Unmounting GFS filesystems (retry)"
- umount ${remaining} >/dev/null 2>&1
- eend $? "Failed to unmount GFS filesystems this retry"
- else
- ebegin "Unmounting GFS filesystems"
- umount ${remaining} >/dev/null 2>&1
- eend $? "Failed to unmount GFS filesystems"
- fi
- remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { if ($2 != "/") print $2 }' /proc/mounts | sort -r)"
- [ -z "${remaining}" ] && break
- /bin/fuser -k -m ${sig} ${remaining} >/dev/null 2>&1
- sleep 5
- retry=$((${retry} -1))
- sig=-9
- done
- fi
-}
-
-unload_allmodules() {
- local modules
-
- modules=$(awk '$1 == "lock_gulm" || \
- $1 == "lock_dlm" || $1 == "dlm" || \
- $1 == "lock_harness" || $1 == "gfs2" || \
- $1 == "gfs" { print $1 }' /proc/modules)
-
- #modules=$(awk '$1 == "lock_harness" || \
- # $1 == "gfs" { print $1 }' /proc/modules)
-
- unload_modules "${modules}"
-}
-
-start_ccsd() {
- ebegin "Starting ccsd"
- start-stop-daemon --start --quiet --exec ${CCSD} -- ${CCSD_OPTS}
- eend $?
-}
-
-stop_ccsd() {
- ebegin "Stopping ccsd"
- start-stop-daemon --stop --quiet -s 9 --exec ${CCSD}
- eend $?
-}
-
-start_cman() {
- ${CMAN_TOOL} status >/dev/null 2>&1
- if [ $? -ne 0 ]
- then
- ebegin "Starting cman"
- ${CMAN_TOOL} -t ${CMAN_CLUSTER_TIMEOUT} \
- -w join ${CMAN_JOIN_OPTS} >/dev/null 2>&1
-
- if [ "$?" -ne 0 ]
- then
- eend 1 "Failed to start cman"
- return 1
- else
- eend 0
-
- # make sure that we are quorate?
- if [ ${CMAN_QUORUM_TIMEOUT} -gt 0 ]
- then
- ebegin "Waiting for quorum (${CMAN_QUORUM_TIMEOUT} secs)"
- ${CMAN_TOOL} -t ${CMAN_QUORUM_TIMEOUT} -q wait
- rc=$?
- eend $rc
- return $rc
- fi
- fi
- else
- einfo "cman already running"
- fi
-}
-
-stop_cman() {
- ebegin "Stopping cman"
- local stat=0
- ${CMAN_TOOL} status > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- retry=3
- stat=1
- while [ "${stat}" -eq 1 -a "${retry}" -gt 0 ]
- do
- #sleep 2
- #${CMAN_TOOL} -w -t ${CMAN_SHUTDOWN_TIMEOUT} \
- # leave remove ${CMAN_LEAVE_OPTS} > /dev/null
- ${CMAN_TOOL} leave -t ${CMAN_SHUTDOWN_TIMEOUT} ${CMAN_LEAVE_OPTS} \
- remove >/dev/null 2>&1
- stat=$?
- retry=$((${retry} -1))
- done
- fi
- eend ${stat}
-}
-
-start_groupd() {
- ebegin "Starting groupd"
- start-stop-daemon --start --exec ${GROUPD} --name groupd
- eend $?
-}
-
-stop_groupd() {
- ebegin "Stopping groupd"
- start-stop-daemon --stop --exec ${GROUPD} --name groupd
- eend $?
-}
-
-start_fenced() {
- ebegin "Starting fenced"
- start-stop-daemon --start --exec ${FENCED} --name fenced
- eend $?
-
- ${CMAN_TOOL} status | grep Flags | grep 2node >/dev/null 2>&1
- local errmsg=$?
-
- ebegin "Joining fence domain"
- if [ "${errmsg}" -ne 0 ]
- then
- ${FENCE_TOOL} join -t $FENCED_START_TIMEOUT >/dev/null 2>&1
- [ $? -eq 0 ] && errmsg=$? || errmsg=1
- else
- ${FENCE_TOOL} join -m $FENCED_MEMBER_DELAY >/dev/null 2>&1
- [ $? -eq 0 ] && errmsg=$? || errmsg=1
- fi
- eend $errmsg
-}
-
-stop_fenced() {
- # fenced services
-# local fence_status="$( ${CMAN_TOOL} services | awk '$1 ~ /fence/ { print $3 }')"
-# if [ -n "${fence_status}" ]; then
-# if [ -x ${FENCE_TOOL} ]; then
-# ebegin "Leaving fence domain"
-# ${FENCE_TOOL} leave > /dev/null 2>&1
-# eend $?
-# fi
-# fi
-
- if [ -x ${FENCE_TOOL} ]; then
- if ${FENCE_TOOL} ls >/dev/null 2>&1; then
- ebegin "Leaving fence domain"
- ${FENCE_TOOL} leave > /dev/null 2>&1
- eend $?
- fi
- fi
-
- ebegin "Stopping fenced"
- start-stop-daemon --stop --exec ${FENCED} --name fenced
- eend $?
-}
-
-start_gfs_controld() {
- ebegin "Starting gfs_controld"
- start-stop-daemon --start --exec ${GFS_CONTROLD} --name gfs_controld
- eend $?
-}
-
-stop_gfs_controld() {
- ebegin "Stopping gfs_controld"
- start-stop-daemon --stop --exec ${GFS_CONTROLD} --name gfs_controld
- eend $?
-}
-
-start_dlm_controld() {
- ebegin "Starting dlm_controld"
- start-stop-daemon --start --exec ${DLM_CONTROLD} --name dlm_controld
- eend $?
-}
-
-stop_dlm_controld() {
- ebegin "Stopping dlm_controld"
- start-stop-daemon --stop --exec ${DLM_CONTROLD} --name dlm_controld
- eend $?
-}
-
-start() {
- if ! mount_configfs ; then
- eerror "ConfigFS & DLM are required to use cman"
- return 1
- fi
-
- [ -e /sys/module/dlm ] || [ -e /sys/kernel/dlm ] || load_modules "dlm"
- if [ ! -e /sys/kernel/dlm ]; then
- eerror "ConfigFS & DLM are required to use cman"
- return 1
- fi
- mkdir -p /var/run/cluster
-
-# start_ccsd
- if ! start_cman ; then
- eerror "Failed to start cman"
- return 1
- fi
- if ! start_fenced; then
- eerror "Failed to start fenced"
- return 1
- fi
- if ! start_groupd; then
- eerror "Failed to start groupd"
- return 1
- fi
- if ! start_dlm_controld; then
- eerror "Failed to start dlm_controld"
- return 1
- fi
-# start_gfs_controld
-}
-
-stop() {
-
-# umount GFS filesystems
-# umount_gfs_filesystems
-
- stop_dlm_controld
- stop_groupd
- stop_fenced
- stop_cman
-
- #stop_gfs_controld
- #stop_dlm_controld
- #stop_groupd
-
- unload_modules "dlm"
-# stop_ccsd
-# unload_allmodules
- umount_configfs
-}