Blame SOURCES/001-stonith-enabled.patch

5cbf9a
From 243139b2ec0f6b17877a4e7f651fc3f70f76b11a Mon Sep 17 00:00:00 2001
5cbf9a
From: Christine Caulfield <ccaulfie@redhat.com>
5cbf9a
Date: Fri, 6 May 2022 15:23:43 +0100
5cbf9a
Subject: [PATCH 1/2] fenced: Don't ignore CIB updates if stonith-enabled=false
5cbf9a
5cbf9a
Fixes: T378
5cbf9a
---
5cbf9a
 daemons/fenced/pacemaker-fenced.c | 23 +++--------------------
5cbf9a
 1 file changed, 3 insertions(+), 20 deletions(-)
5cbf9a
5cbf9a
diff --git a/daemons/fenced/pacemaker-fenced.c b/daemons/fenced/pacemaker-fenced.c
5cbf9a
index caab7de83..dadd187b6 100644
5cbf9a
--- a/daemons/fenced/pacemaker-fenced.c
5cbf9a
+++ b/daemons/fenced/pacemaker-fenced.c
5cbf9a
@@ -1136,11 +1136,8 @@ static void
5cbf9a
 update_cib_cache_cb(const char *event, xmlNode * msg)
5cbf9a
 {
5cbf9a
     int rc = pcmk_ok;
5cbf9a
-    xmlNode *stonith_enabled_xml = NULL;
5cbf9a
-    static gboolean stonith_enabled_saved = TRUE;
5cbf9a
     long timeout_ms_saved = stonith_watchdog_timeout_ms;
5cbf9a
     gboolean need_full_refresh = FALSE;
5cbf9a
-    bool value = false;
5cbf9a
 
5cbf9a
     if(!have_cib_devices) {
5cbf9a
         crm_trace("Skipping updates until we get a full dump");
5cbf9a
@@ -1191,32 +1188,18 @@ update_cib_cache_cb(const char *event, xmlNode * msg)
5cbf9a
             return;
5cbf9a
         }
5cbf9a
         CRM_ASSERT(local_cib != NULL);
5cbf9a
-        stonith_enabled_saved = FALSE; /* Trigger a full refresh below */
5cbf9a
+        need_full_refresh = TRUE;
5cbf9a
     }
5cbf9a
 
5cbf9a
     pcmk__refresh_node_caches_from_cib(local_cib);
5cbf9a
     update_stonith_watchdog_timeout_ms(local_cib);
5cbf9a
 
5cbf9a
-    stonith_enabled_xml = get_xpath_object("//nvpair[@name='stonith-enabled']",
5cbf9a
-                                           local_cib, LOG_NEVER);
5cbf9a
-    if (pcmk__xe_get_bool_attr(stonith_enabled_xml, XML_NVPAIR_ATTR_VALUE, &value) == pcmk_rc_ok && !value) {
5cbf9a
-        crm_trace("Ignoring CIB updates while fencing is disabled");
5cbf9a
-        stonith_enabled_saved = FALSE;
5cbf9a
-
5cbf9a
-    } else if (stonith_enabled_saved == FALSE) {
5cbf9a
-        crm_info("Updating fencing device and topology lists "
5cbf9a
-                 "now that fencing is enabled");
5cbf9a
-        stonith_enabled_saved = TRUE;
5cbf9a
-        need_full_refresh = TRUE;
5cbf9a
-
5cbf9a
-    } else {
5cbf9a
-        if (timeout_ms_saved != stonith_watchdog_timeout_ms) {
5cbf9a
+    if (timeout_ms_saved != stonith_watchdog_timeout_ms) {
5cbf9a
             need_full_refresh = TRUE;
5cbf9a
-        } else {
5cbf9a
+    } else {
5cbf9a
             update_fencing_topology(event, msg);
5cbf9a
             update_cib_stonith_devices(event, msg);
5cbf9a
             watchdog_device_update();
5cbf9a
-        }
5cbf9a
     }
5cbf9a
 
5cbf9a
     if (need_full_refresh) {
5cbf9a
-- 
5cbf9a
2.31.1
5cbf9a
5cbf9a
5cbf9a
From c600ef49022e7473acbe121fae50a0c1aa2d7c03 Mon Sep 17 00:00:00 2001
5cbf9a
From: Christine Caulfield <ccaulfie@redhat.com>
5cbf9a
Date: Thu, 9 Jun 2022 11:08:43 +0100
5cbf9a
Subject: [PATCH 2/2] Also don't check for stonith-disabled in
5cbf9a
 update_stonith_watchdog_timeout_ms
5cbf9a
5cbf9a
---
5cbf9a
 daemons/fenced/pacemaker-fenced.c | 34 +++++++++++--------------------
5cbf9a
 1 file changed, 12 insertions(+), 22 deletions(-)
5cbf9a
5cbf9a
diff --git a/daemons/fenced/pacemaker-fenced.c b/daemons/fenced/pacemaker-fenced.c
5cbf9a
index dadd187b6..ec42d5bc2 100644
5cbf9a
--- a/daemons/fenced/pacemaker-fenced.c
5cbf9a
+++ b/daemons/fenced/pacemaker-fenced.c
5cbf9a
@@ -643,31 +643,21 @@ watchdog_device_update(void)
5cbf9a
 static void
5cbf9a
 update_stonith_watchdog_timeout_ms(xmlNode *cib)
5cbf9a
 {
5cbf9a
-    xmlNode *stonith_enabled_xml = NULL;
5cbf9a
-    bool stonith_enabled = false;
5cbf9a
-    int rc = pcmk_rc_ok;
5cbf9a
     long timeout_ms = 0;
5cbf9a
+    xmlNode *stonith_watchdog_xml = NULL;
5cbf9a
+    const char *value = NULL;
5cbf9a
 
5cbf9a
-    stonith_enabled_xml = get_xpath_object("//nvpair[@name='stonith-enabled']",
5cbf9a
-                                           cib, LOG_NEVER);
5cbf9a
-    rc = pcmk__xe_get_bool_attr(stonith_enabled_xml, XML_NVPAIR_ATTR_VALUE, &stonith_enabled);
5cbf9a
-
5cbf9a
-    if (rc != pcmk_rc_ok || stonith_enabled) {
5cbf9a
-        xmlNode *stonith_watchdog_xml = NULL;
5cbf9a
-        const char *value = NULL;
5cbf9a
-
5cbf9a
-        stonith_watchdog_xml = get_xpath_object("//nvpair[@name='stonith-watchdog-timeout']",
5cbf9a
-                                                cib, LOG_NEVER);
5cbf9a
-        if (stonith_watchdog_xml) {
5cbf9a
-            value = crm_element_value(stonith_watchdog_xml, XML_NVPAIR_ATTR_VALUE);
5cbf9a
-        }
5cbf9a
-        if (value) {
5cbf9a
-            timeout_ms = crm_get_msec(value);
5cbf9a
-        }
5cbf9a
+    stonith_watchdog_xml = get_xpath_object("//nvpair[@name='stonith-watchdog-timeout']",
5cbf9a
+					    cib, LOG_NEVER);
5cbf9a
+    if (stonith_watchdog_xml) {
5cbf9a
+        value = crm_element_value(stonith_watchdog_xml, XML_NVPAIR_ATTR_VALUE);
5cbf9a
+    }
5cbf9a
+    if (value) {
5cbf9a
+        timeout_ms = crm_get_msec(value);
5cbf9a
+    }
5cbf9a
 
5cbf9a
-        if (timeout_ms < 0) {
5cbf9a
-            timeout_ms = pcmk__auto_watchdog_timeout();
5cbf9a
-        }
5cbf9a
+    if (timeout_ms < 0) {
5cbf9a
+        timeout_ms = pcmk__auto_watchdog_timeout();
5cbf9a
     }
5cbf9a
 
5cbf9a
     stonith_watchdog_timeout_ms = timeout_ms;
5cbf9a
-- 
5cbf9a
2.31.1
5cbf9a