[ -z "$CTDB_VARDIR" ] && {
export CTDB_VARDIR="/var/ctdb"
}
+[ -z "$CTDB_ETCDIR" ] && {
+ export CTDB_ETCDIR="/etc"
+}
#######################################
# pull in a system config file, if any
loadconfig "ctdb"
fi
-
- if [ -f /etc/sysconfig/$1 ]; then
- . /etc/sysconfig/$1
- elif [ -f /etc/default/$1 ]; then
- . /etc/default/$1
+ if [ -f $CTDB_ETCDIR/sysconfig/$1 ]; then
+ . $CTDB_ETCDIR/sysconfig/$1
+ elif [ -f $CTDB_ETCDIR/default/$1 ]; then
+ . $CTDB_ETCDIR/default/$1
elif [ -f $CTDB_BASE/sysconfig/$1 ]; then
. $CTDB_BASE/sysconfig/$1
fi
######################################################
# simulate /sbin/service on platforms that don't have it
-service() {
+# _service() makes it easier to hook the service() function for
+# testing.
+_service ()
+{
_service_name="$1"
_op="$2"
[ -z "$_service_name" ] && return
if [ -x /sbin/service ]; then
- /sbin/service "$_service_name" "$_op"
- elif [ -x /etc/init.d/$_service_name ]; then
- /etc/init.d/$_service_name "$_op"
- elif [ -x /etc/rc.d/init.d/$_service_name ]; then
- /etc/rc.d/init.d/$_service_name "$_op"
+ $_nice /sbin/service "$_service_name" "$_op"
+ elif [ -x $CTDB_ETCDIR/init.d/$_service_name ]; then
+ $_nice $CTDB_ETCDIR/init.d/$_service_name "$_op"
+ elif [ -x $CTDB_ETCDIR/rc.d/init.d/$_service_name ]; then
+ $_nice $CTDB_ETCDIR/rc.d/init.d/$_service_name "$_op"
fi
}
+service()
+{
+ _nice=""
+ _service "$@"
+}
+
######################################################
# simulate /sbin/service (niced) on platforms that don't have it
-nice_service() {
- _service_name="$1"
- _op="$2"
-
- # do nothing, when no service was specified
- [ -z "$_service_name" ] && return
-
- if [ -x /sbin/service ]; then
- nice /sbin/service "$_service_name" "$_op"
- elif [ -x /etc/init.d/$_service_name ]; then
- nice /etc/init.d/$_service_name "$_op"
- elif [ -x /etc/rc.d/init.d/$_service_name ]; then
- nice /etc/rc.d/init.d/$_service_name "$_op"
- fi
+nice_service()
+{
+ _nice="nice"
+ _service "$@"
}
######################################################
########################################################
startstop_nfs() {
PLATFORM="unknown"
- [ -x /etc/init.d/nfsserver ] && {
+ [ -x $CTDB_ETCDIR/init.d/nfsserver ] && {
PLATFORM="sles"
}
- [ -x /etc/init.d/nfslock ] && {
+ [ -x $CTDB_ETCDIR/init.d/nfslock ] && {
PLATFORM="rhel"
}
########################################################
startstop_nfslock() {
PLATFORM="unknown"
- [ -x /etc/init.d/nfsserver ] && {
+ [ -x $CTDB_ETCDIR/init.d/nfsserver ] && {
PLATFORM="sles"
}
- [ -x /etc/init.d/nfslock ] && {
+ [ -x $CTDB_ETCDIR/init.d/nfslock ] && {
PLATFORM="rhel"
}