aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2010-06-22 19:11:22 +0100
committerSébastien Fabbro <bicatali@gentoo.org>2010-06-22 19:11:22 +0100
commitbe3bfe418026f8ec531fefe18ca4c10cc5b6d140 (patch)
tree0186e22fbb29d0ec30893f1674f954ac4c05e466 /sys-cluster/condor/files
parentremanifesting (diff)
downloadsci-be3bfe418026f8ec531fefe18ca4c10cc5b6d140.tar.gz
sci-be3bfe418026f8ec531fefe18ca4c10cc5b6d140.tar.bz2
sci-be3bfe418026f8ec531fefe18ca4c10cc5b6d140.zip
condor: more initd fixes, now local config will reside in /var/lib
Diffstat (limited to 'sys-cluster/condor/files')
-rw-r--r--sys-cluster/condor/files/condor.initd37
1 files changed, 30 insertions, 7 deletions
diff --git a/sys-cluster/condor/files/condor.initd b/sys-cluster/condor/files/condor.initd
index e653c9c01..cb50808aa 100644
--- a/sys-cluster/condor/files/condor.initd
+++ b/sys-cluster/condor/files/condor.initd
@@ -15,23 +15,46 @@ depend() {
use logger
}
-start() {
- ebegin "Starting condor"
+setup_central_manager() {
# delete current condor host, replace it with central manager
- sed -i \
- -e '/CONDOR_HOST/d/' \
+ sed -e '/CONDOR_HOST/d' \
-e "\$aCONDOR_HOST=${CONDOR_CENTRAL_MANAGER}" \
- ${CONDOR_CONFIG_LOCAL}
+ /etc/condor/condor_config.local > ${CONDOR_CONFIG_LOCAL}
+ chown ${CONDOR_USER}:${CONDOR_USER} ${CONDOR_CONFIG_LOCAL}
+}
+
+# set up condor ccb if only private networking is available (assumes ifconfig)
+setup_ccb() {
+ /sbin/ifconfig | grep "inet addr" | egrep -v "addr:127.|addr:192.|addr:172.|addr:10." > /dev/null
+ retval=$?
+ if [ ${retval} -ne 0 ]; then # all addresses are local
+ echo \
+ "$(/sbin/ifconfig | grep "inet addr" | grep -v 127. | awk '{print $2}' | sed s/addr://)" \
+ "$(hostname)" \
+ "# Added for Condor CCB" \
+ >> /etc/hosts
+ fi
+}
+
+cleanup_ccb() {
+ sed -i '/# Added for Condor CCB/d' /etc/hosts
+}
- pid=$(start-stop-daemon --start --quiet --user ${CONDOR_USER} \
+start() {
+ ebegin "Starting condor"
+ setup_central_manager
+ setup_ccb
+ start-stop-daemon --start --quiet --user ${CONDOR_USER} \
--pidfile ${CONDOR_RUN}/condor.pid \
- --exec ${CONDOR_MASTER} -- ${CONDOR_OPTS})
+ --exec ${CONDOR_MASTER} -- ${CONDOR_OPTS}
retval=$?
+ [ $retval -eq 0 ] && touch /var/lock/subsys/condor
eend ${retval}
}
stop() {
ebegin "Stopping condor"
+ cleanup_ccb
start-stop-daemon --stop --quiet \
--pidfile ${CONDOR_RUN}/condor.pid \
--exec ${CONDOR_MASTER}