summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emulation/ganeti/files/ganeti.initd-r314
1 files changed, 14 insertions, 0 deletions
diff --git a/app-emulation/ganeti/files/ganeti.initd-r3 b/app-emulation/ganeti/files/ganeti.initd-r3
index a238aa1ecb84..e255354acdd9 100644
--- a/app-emulation/ganeti/files/ganeti.initd-r3
+++ b/app-emulation/ganeti/files/ganeti.initd-r3
@@ -3,6 +3,8 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
+extra_commands="forcestart is_master"
+
depend() {
need localmount logger
after bootmisc sshd
@@ -17,6 +19,17 @@ is_master() {
[ "${ganeti_master}" = "${local_hostname}" ]
}
+# This exists specifically for restarting a 2-node cluster where quorum might
+# not be available.
+forcestart() {
+ ewarn "Forcing non-quorum Ganeti master start"
+ GANETI_WCONFD_OPTS="${GANETI_WCONFD_OPTS} --no-voting --yes-do-it"
+ GANETI_LUXID_OPTS="${GANETI_LUXID_OPTS} --no-voting --yes-do-it"
+ GANETI_MASTERD_OPTS="${GANETI_LUXID_OPTS} --no-voting --yes-do-it"
+ export GANETI_WCONFD_OPTS GANETI_LUXID_OPTS GANETI_MASTERD_OPTS
+ start
+}
+
start() {
if ! [ -e ${DAEMON_UTIL} ]; then
eerror "Could not find daemon utility at ${DAEMON_UTIL}"
@@ -39,6 +52,7 @@ start() {
ebegin "Starting ${daemon}"
eindent
+ veinfo ${DAEMON_UTIL} start ${daemon} ${GANETI_OPTS} ${daemon_opts}
${DAEMON_UTIL} start ${daemon} ${GANETI_OPTS} ${daemon_opts} || retval=${?}
if [ ${retval} != 0 ] && [ -n "${started_daemons}" ]; then