app-emulation/ganeti: make it easier to restart a downed cluster
authorRobin H. Johnson <robbat2@gentoo.org>
Wed, 13 Jul 2016 21:36:43 +0000 (14:36 -0700)
committerRobin H. Johnson <robbat2@gentoo.org>
Wed, 13 Jul 2016 21:37:40 +0000 (14:37 -0700)
Package-Manager: portage-2.2.28

app-emulation/ganeti/files/ganeti.initd-r3

index a238aa1ecb84339fbbd1d6816a6747e747b84121..e255354acdd91ff1b0ec12a0ff035da93522b129 100644 (file)
@@ -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