fcdfbd
From d8e08729ad5e3dc62f774172f992210902fc0ed4 Mon Sep 17 00:00:00 2001
fcdfbd
From: Ken Gaillot <kgaillot@redhat.com>
fcdfbd
Date: Mon, 23 Jan 2023 14:25:56 -0600
fcdfbd
Subject: [PATCH] High: executor: fix regression in remote node shutdown
fcdfbd
fcdfbd
This reverts the essential part of d61494347, which was based on misdiagnosing
fcdfbd
a remote node shutdown issue. Initially, it was thought that a "TLS server
fcdfbd
session ended" log just after a remote node requested shutdown indicated that
fcdfbd
the proxy connection coincidentally dropped at that moment. It actually is the
fcdfbd
routine stopping of accepting new proxy connections, and existing when that
fcdfbd
happens makes the remote node exit immediately without waiting for the
fcdfbd
all-clear from the cluster.
fcdfbd
fcdfbd
Fixes T361
fcdfbd
---
fcdfbd
 daemons/execd/pacemaker-execd.c | 19 +------------------
fcdfbd
 daemons/execd/pacemaker-execd.h |  3 +--
fcdfbd
 daemons/execd/remoted_tls.c     |  6 +-----
fcdfbd
 3 files changed, 3 insertions(+), 25 deletions(-)
fcdfbd
fcdfbd
diff --git a/daemons/execd/pacemaker-execd.c b/daemons/execd/pacemaker-execd.c
fcdfbd
index db12674f13..491808974a 100644
fcdfbd
--- a/daemons/execd/pacemaker-execd.c
fcdfbd
+++ b/daemons/execd/pacemaker-execd.c
fcdfbd
@@ -1,5 +1,5 @@
fcdfbd
 /*
fcdfbd
- * Copyright 2012-2022 the Pacemaker project contributors
fcdfbd
+ * Copyright 2012-2023 the Pacemaker project contributors
fcdfbd
  *
fcdfbd
  * The version control history for this file may have further details.
fcdfbd
  *
fcdfbd
@@ -305,23 +305,6 @@ lrmd_exit(gpointer data)
fcdfbd
     return FALSE;
fcdfbd
 }
fcdfbd
 
fcdfbd
-/*!
fcdfbd
- * \internal
fcdfbd
- * \brief Clean up and exit if shutdown has started
fcdfbd
- *
fcdfbd
- * \return Doesn't return
fcdfbd
- */
fcdfbd
-void
fcdfbd
-execd_exit_if_shutting_down(void)
fcdfbd
-{
fcdfbd
-#ifdef PCMK__COMPILE_REMOTE
fcdfbd
-    if (shutting_down) {
fcdfbd
-        crm_warn("exit because TLS connection was closed and 'shutting_down' set");
fcdfbd
-        lrmd_exit(NULL);
fcdfbd
-    }
fcdfbd
-#endif
fcdfbd
-}
fcdfbd
-
fcdfbd
 /*!
fcdfbd
  * \internal
fcdfbd
  * \brief Request cluster shutdown if appropriate, otherwise exit immediately
fcdfbd
diff --git a/daemons/execd/pacemaker-execd.h b/daemons/execd/pacemaker-execd.h
fcdfbd
index 6646ae29e3..f78e8dcdde 100644
fcdfbd
--- a/daemons/execd/pacemaker-execd.h
fcdfbd
+++ b/daemons/execd/pacemaker-execd.h
fcdfbd
@@ -1,5 +1,5 @@
fcdfbd
 /*
fcdfbd
- * Copyright 2012-2022 the Pacemaker project contributors
fcdfbd
+ * Copyright 2012-2023 the Pacemaker project contributors
fcdfbd
  *
fcdfbd
  * The version control history for this file may have further details.
fcdfbd
  *
fcdfbd
@@ -105,6 +105,5 @@ void remoted_spawn_pidone(int argc, char **argv, char **envp);
fcdfbd
 int process_lrmd_alert_exec(pcmk__client_t *client, uint32_t id,
fcdfbd
                             xmlNode *request);
fcdfbd
 void lrmd_drain_alerts(GMainLoop *mloop);
fcdfbd
-void execd_exit_if_shutting_down(void);
fcdfbd
 
fcdfbd
 #endif // PACEMAKER_EXECD__H
fcdfbd
diff --git a/daemons/execd/remoted_tls.c b/daemons/execd/remoted_tls.c
fcdfbd
index 6f4b2d0062..c65e3f394d 100644
fcdfbd
--- a/daemons/execd/remoted_tls.c
fcdfbd
+++ b/daemons/execd/remoted_tls.c
fcdfbd
@@ -1,5 +1,5 @@
fcdfbd
 /*
fcdfbd
- * Copyright 2012-2022 the Pacemaker project contributors
fcdfbd
+ * Copyright 2012-2023 the Pacemaker project contributors
fcdfbd
  *
fcdfbd
  * The version control history for this file may have further details.
fcdfbd
  *
fcdfbd
@@ -250,10 +250,6 @@ static void
fcdfbd
 tls_server_dropped(gpointer user_data)
fcdfbd
 {
fcdfbd
     crm_notice("TLS server session ended");
fcdfbd
-    /* If we are in the process of shutting down, then we should actually exit.
fcdfbd
-     * bz#1804259
fcdfbd
-     */
fcdfbd
-    execd_exit_if_shutting_down();
fcdfbd
     return;
fcdfbd
 }
fcdfbd
 
fcdfbd
-- 
fcdfbd
2.31.1
fcdfbd