summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2006-09-25 05:08:24 +0000
committerDonnie Berkholz <dberkholz@gentoo.org>2006-09-25 05:08:24 +0000
commit318627ad3acc50c6590f40aae3d0f09dba40ce28 (patch)
tree325ec8d6003e604b781ec324942a6411cd292692 /sys-cluster/openpbs-common/files
parent(#103430) Make AFS work without requiring /usr/afsws to exist. (diff)
downloadgentoo-2-318627ad3acc50c6590f40aae3d0f09dba40ce28.tar.gz
gentoo-2-318627ad3acc50c6590f40aae3d0f09dba40ce28.tar.bz2
gentoo-2-318627ad3acc50c6590f40aae3d0f09dba40ce28.zip
(#115189) torque-aware init script (Adam Carheden).
(Portage version: 2.1.2_pre1-r1)
Diffstat (limited to 'sys-cluster/openpbs-common/files')
-rw-r--r--sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.01
-rw-r--r--sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.01
-rw-r--r--sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.11
-rw-r--r--sys-cluster/openpbs-common/files/pbs-init.d-1.1.1135
4 files changed, 138 insertions, 0 deletions
diff --git a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0 b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0
index e69de29bb2d1..8b137891791f 100644
--- a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0
+++ b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0
@@ -0,0 +1 @@
+
diff --git a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0 b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0
index e69de29bb2d1..8b137891791f 100644
--- a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0
+++ b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0
@@ -0,0 +1 @@
+
diff --git a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.1 b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.1
new file mode 100644
index 000000000000..8b137891791f
--- /dev/null
+++ b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.1
@@ -0,0 +1 @@
+
diff --git a/sys-cluster/openpbs-common/files/pbs-init.d-1.1.1 b/sys-cluster/openpbs-common/files/pbs-init.d-1.1.1
new file mode 100644
index 000000000000..8f309d5b8605
--- /dev/null
+++ b/sys-cluster/openpbs-common/files/pbs-init.d-1.1.1
@@ -0,0 +1,135 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+opts="start stop restart"
+
+
+# Torque moved stuff from /usr/ to /var as of 2.0.0, so we check...
+PBS_CFG_DIR_DEFAULT="/var/spool/PBS"
+if [ -z "${PBS_CFG_DIRECTORY}" ]; then
+ if [ -d "/usr/spool/PBS" -a -d "/var/spool/PBS" ]; then
+ ewarn "WARNING! Both /usr/spool/PBS and /var/spool/PBS exist,"
+ ewarn " but PBS_CFG_DIRECTORY isn't defined in /etc/conf.d/pbs."
+ ewarn " Defaulting to ${PBS_CFG_DIR_DEFAULT}."
+ PBS_CFG_DIRECTORY="${PBS_CFG_DIR_DEFAULT}"
+ elif [ -d "/usr/spool/PBS" ]; then
+ PBS_CFG_DIRECTORY="/usr/spool/PBS"
+ elif [ -d "/var/spool/PBS" ]; then
+ PBS_CFG_DIRECTORY="/var/spool/PBS"
+ else
+ eerror "Neither /usr/spool/PBS nor /var/spool/PBS exists."
+ eerror "Are you sure you've actually installed an ebuild that provides virtual/pbs?"
+ eerror "Try emerging sys-cluster/torque or sys-cluster/openpbs."
+ exit 1
+ fi
+fi
+
+SERVERPID="${PBS_CFG_DIRECTORY}/server_priv/server.lock"
+MOMPID="${PBS_CFG_DIRECTORY}/mom_priv/mom.lock"
+SCHEDULER="${PBS_SCHEDULER:=pbs_sched}"
+SCHEDPID="${PBS_SCHEDULER_PID:=${PBS_CFG_DIRECTORY}/sched_priv/sched.lock}"
+
+depend() {
+ need net
+}
+
+checkconfig() {
+
+ HOSTNAME="`hostname`"
+
+ if [ ! -e ${PBS_CFG_DIRECTORY}/server_name ] ; then
+ eerror "Missing config file ${PBS_CFG_DIRECTORY}/server_name"
+ return 1
+ else
+ PBS_SERVER_NAME="`cat ${PBS_CFG_DIRECTORY}/server_name`"
+ if [ "x${HOSTNAME}" == "x${PBS_SERVER_NAME}" ] ; then
+ PBS_START_SERVER=1;
+ else
+ PBS_START_SERVER=0;
+ fi
+ fi
+
+ if [ ! -e ${PBS_CFG_DIRECTORY}/mom_priv/config ] ; then
+ eerror "Missing config file ${PBS_CFG_DIRECTORY}/mom_priv/config"
+ return 1
+ elif [ "${PBS_START_SERVER}" -eq 1 ] ; then
+ PBS_START_MOM="${PBS_SERVER_AND_MOM:=1}"
+ else
+ PBS_START_MOM="1"
+ fi
+
+ if [ "${PBS_START_SERVER}" -eq 1 ] ; then
+ if [ ! -e ${PBS_CFG_DIRECTORY}/server_priv/nodes ] ; then
+ eerror "The startup script has detected this node is a server"
+ eerror "from the file ${PBS_CFG_DIRECTORY}/server_name,"
+ eerror "but the config file ${PBS_CFG_DIRECTORY}/server_priv/nodes is missing"
+ return 1
+ fi
+ fi
+
+ if [ "${PBS_START_SERVER}" -eq 1 ] ; then
+ SCHEDPATH="`which ${SCHEDULER}`"
+ SCHEDFILE="`basename ${SCHEDPATH}`"
+ if [ -z "${SCHEDFILE}" ]; then
+ eerror "No scheduler defined and can't find pbs_sched"
+ return 1
+ elif [ ! -x ${SCHEDPATH} ] ; then
+ eerror "Scheduler defined but can't be executed"
+ return 1
+ fi
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ if [ "${PBS_START_MOM}" -gt 0 ] ; then
+ ebegin "Starting pbs_mom"
+ start-stop-daemon --start --pidfile ${MOMPID} \
+ --startas /usr/sbin/pbs_mom
+ fi
+
+ if [ "${PBS_START_SERVER}" -gt 0 ] ; then
+ ebegin "Starting pbs_server"
+ start-stop-daemon --start --quiet --pidfile ${SERVERPID} \
+ --startas /usr/sbin/pbs_server
+
+ ebegin "Starting ${SCHEDFILE}"
+ start-stop-daemon --start --quiet --pidfile ${SCHEDPID} \
+ --startas ${SCHEDPATH}
+ fi
+
+ eend $?
+}
+
+stop() {
+ checkconfig || return 1
+
+ ret1=0
+ ret2=0
+ ret3=0
+ if [ -e ${MOMPID} ] ; then
+ ebegin "Stopping pbs_mom"
+ start-stop-daemon --stop --pidfile ${MOMPID}
+ ret1=$?
+ rm -f ${MOMPID}
+ fi
+
+ if [ -e ${SERVERPID} ] ; then
+ ebegin "Stopping pbs_server"
+ qterm -t immediate
+ ret2=$?
+ rm -f ${SERVERPID}
+ fi
+
+ if [ -e ${SCHEDPID} ] ; then
+ ebegin "Stopping ${SCHEDFILE}"
+ start-stop-daemon --stop --pidfile ${SCHEDPID}
+ ret3=$?
+ rm -f ${SCHEDPID}
+ fi
+
+ let ret=$(( $ret1 + $ret2 + $ret3 ))
+ eend $ret
+}