summary refs log tree commit diff
path: root/gnu/packages/patches/ganeti-shepherd-master-failover.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/ganeti-shepherd-master-failover.patch')
-rw-r--r--gnu/packages/patches/ganeti-shepherd-master-failover.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/gnu/packages/patches/ganeti-shepherd-master-failover.patch b/gnu/packages/patches/ganeti-shepherd-master-failover.patch
new file mode 100644
index 0000000000..36a7918998
--- /dev/null
+++ b/gnu/packages/patches/ganeti-shepherd-master-failover.patch
@@ -0,0 +1,18 @@
+By default, master-failover will call "herd start ganeti-wconfd" with
+extra arguments such as --force-node.  That does not work with the
+Shepherd, so the Guix service has a "force-start" action for this purpose.
+
+diff --git a/lib/bootstrap.py b/lib/bootstrap.py
+--- a/lib/bootstrap.py
++++ b/lib/bootstrap.py
+@@ -1011,9 +1011,7 @@ def MasterFailover(no_voting=False):
+ 
+   try:
+     # Forcefully start WConfd so that we can access the configuration
+-    result = utils.RunCmd([pathutils.DAEMON_UTIL,
+-                           "start", constants.WCONFD, "--force-node",
+-                           "--no-voting", "--yes-do-it"])
++    result = utils.RunCmd(["herd", "force-start", constants.WCONFD])
+     if result.failed:
+       raise errors.OpPrereqError("Could not start the configuration daemon,"
+                                  " command %s had exitcode %s and error %s" %