Pass arguments to correct daemons during master-failover
authorHrvoje Ribicic <riba@google.com>
Thu, 17 Dec 2015 00:18:50 +0000 (00:18 +0000)
committerHrvoje Ribicic <riba@google.com>
Thu, 7 Jan 2016 10:26:10 +0000 (10:26 +0000)
A master-failover can be executed with the --no-voting flag, making
Ganeti start daemons despite a lack of votes. This is necessary to
fail over a cluster reduced to two nodes. The feature has not
been working since 2.12 daemon refactoring, as the daemon parameters
were passed through environmental variables that were not updated.

This commit passes the parameters correctly, and fixes issue 1159.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

lib/backend.py

index 5a04c7f..eafb5d1 100644 (file)
@@ -434,12 +434,13 @@ def StartMasterDaemons(no_voting):
   """
 
   if no_voting:
-    masterd_args = "--no-voting --yes-do-it"
+    daemon_args = "--no-voting --yes-do-it"
   else:
-    masterd_args = ""
+    daemon_args = ""
 
   env = {
-    "EXTRA_MASTERD_ARGS": masterd_args,
+    "EXTRA_LUXID_ARGS": daemon_args,
+    "EXTRA_WCONFD_ARGS": daemon_args,
     }
 
   result = utils.RunCmd([pathutils.DAEMON_UTIL, "start-master"], env=env)