From 2c54a4c9f9bc71cd454d02ea50c65569d064fcb0 Mon Sep 17 00:00:00 2001
From: "Gao,Yan" <ygao@suse.com>
Date: Fri, 14 Aug 2020 13:31:43 +0200
Subject: [PATCH 3/3] Doc: controller, Pacemaker Explained: improve the
 documentation of `stonith-watchdog-timeout` cluster option

This commit also marks out the default value `0` of
`stonith-watchdog-timeout` cluster option in the metadata of controller
to be consistent with "Pacemaker Explained".
---
 crmd/control.c          | 22 +++++++++++++++++---
 doc/Pacemaker_Explained/en-US/Ch-Options.txt | 20 +++++++++++++++---
 doc/sphinx/Pacemaker_Explained/options.rst   | 22 ++++++++++++++++----
 3 files changed, 54 insertions(+), 10 deletions(-)

Index: pacemaker-1.1.18+20180430.b12c320f5/crmd/control.c
===================================================================
--- pacemaker-1.1.18+20180430.b12c320f5.orig/crmd/control.c
+++ pacemaker-1.1.18+20180430.b12c320f5/crmd/control.c
@@ -720,9 +720,27 @@ static pe_cluster_option crmd_opts[] = {
           "Delay cluster recovery for the configured interval to allow for additional/related events to occur.\n"
           "Useful if your configuration is sensitive to the order in which ping updates arrive."
         },
-	{ "stonith-watchdog-timeout", NULL, "time", NULL, NULL, &check_sbd_timeout,
-	  "How long to wait before we can assume nodes are safely down", NULL
-        },
+	{ "stonith-watchdog-timeout", NULL, "time", NULL, "0", &check_sbd_timeout,
+        "How long to wait before we can assume nodes are safely down "
+            "when watchdog-based self-fencing via SBD is in use",
+        "If nonzero, along with `have-watchdog=true` automatically set by the "
+            "cluster, when fencing is required, watchdog-based self-fencing "
+            "will be performed via SBD without requiring a fencing resource "
+            "explicitly configured. "
+            "If `stonith-watchdog-timeout` is set to a positive value, unseen "
+            "nodes are assumed to self-fence within this much time. +WARNING:+ "
+            "It must be ensured that this value is larger than the "
+            "`SBD_WATCHDOG_TIMEOUT` environment variable on all nodes. "
+            "Pacemaker verifies the settings individually on all nodes and "
+            "prevents startup or shuts down if configured wrongly on the fly. "
+            "It's strongly recommended that `SBD_WATCHDOG_TIMEOUT` is set to "
+            "the same value on all nodes. "
+            "If `stonith-watchdog-timeout` is set to a negative value, and "
+            "`SBD_WATCHDOG_TIMEOUT` is set, twice that value will be used. "
+            "+WARNING:+ In this case, it's essential (currently not verified by "
+            "pacemaker) that `SBD_WATCHDOG_TIMEOUT` is set to the same value on "
+            "all nodes."
+       },
         { "stonith-max-attempts",NULL,"integer",NULL,"10",&check_positive_number,
           "How many times stonith can fail before it will no longer be attempted on a target"
         },   
Index: pacemaker-1.1.18+20180430.b12c320f5/doc/Pacemaker_Explained/en-US/Ch-Options.txt
===================================================================
--- pacemaker-1.1.18+20180430.b12c320f5.orig/doc/Pacemaker_Explained/en-US/Ch-Options.txt
+++ pacemaker-1.1.18+20180430.b12c320f5/doc/Pacemaker_Explained/en-US/Ch-Options.txt
@@ -258,9 +258,23 @@ immediately re-attempt it.
 | stonith-watchdog-timeout | 0 |
 indexterm:[stonith-watchdog-timeout,Cluster Option]
 indexterm:[Cluster,Option,stonith-watchdog-timeout]
-If nonzero, rely on hardware watchdog self-fencing. If positive, assume unseen
-nodes self-fence within this much time. If negative, and the
-SBD_WATCHDOG_TIMEOUT environment variable is set, use twice that value.
+If nonzero, along with `have-watchdog=true` automatically set by the
+cluster, when fencing is required, watchdog-based self-fencing
+will be performed via SBD without requiring a fencing resource
+explicitly configured.
+If `stonith-watchdog-timeout` is set to a positive value, unseen
+nodes are assumed to self-fence within this much time. +WARNING:+
+It must be ensured that this value is larger than the
+`SBD_WATCHDOG_TIMEOUT` environment variable on all nodes.
+Pacemaker verifies the settings individually on all nodes and
+prevents startup or shuts down if configured wrongly on the fly.
+It's strongly recommended that `SBD_WATCHDOG_TIMEOUT` is set to
+the same value on all nodes.
+If `stonith-watchdog-timeout` is set to a negative value, and
+`SBD_WATCHDOG_TIMEOUT` is set, twice that value will be used.
++WARNING:+ In this case, it's essential (currently not verified by
+pacemaker) that `SBD_WATCHDOG_TIMEOUT` is set to the same value on
+all nodes.
 
 | concurrent-fencing | FALSE |
 indexterm:[concurrent-fencing,Cluster Option]
