|
|
ff725c |
From dad337a96dfeca4dbde7bbd97f99f24956440fc2 Mon Sep 17 00:00:00 2001
|
|
|
ff725c |
From: Ken Gaillot <kgaillot@redhat.com>
|
|
|
ff725c |
Date: Sat, 8 Jun 2019 16:25:04 -0500
|
|
|
ff725c |
Subject: [PATCH 1/4] Refactor: libpe_status: add function for checking
|
|
|
ff725c |
shutdown attribute
|
|
|
ff725c |
|
|
|
ff725c |
... to reduce code duplication and allow further reuse
|
|
|
ff725c |
---
|
|
|
ff725c |
include/crm/pengine/internal.h | 2 ++
|
|
|
ff725c |
lib/pengine/unpack.c | 8 ++------
|
|
|
ff725c |
lib/pengine/utils.c | 20 ++++++++++++++++++++
|
|
|
ff725c |
3 files changed, 24 insertions(+), 6 deletions(-)
|
|
|
ff725c |
|
|
|
ff725c |
diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
|
|
|
ff725c |
index fd55bb9..a2a3d52 100644
|
|
|
ff725c |
--- a/include/crm/pengine/internal.h
|
|
|
ff725c |
+++ b/include/crm/pengine/internal.h
|
|
|
ff725c |
@@ -359,4 +359,6 @@ void pe__foreach_param_check(pe_working_set_t *data_set,
|
|
|
ff725c |
enum pe_check_parameters,
|
|
|
ff725c |
pe_working_set_t*));
|
|
|
ff725c |
void pe__free_param_checks(pe_working_set_t *data_set);
|
|
|
ff725c |
+
|
|
|
ff725c |
+bool pe__shutdown_requested(pe_node_t *node);
|
|
|
ff725c |
#endif
|
|
|
ff725c |
diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
|
|
|
ff725c |
index 081df07..9d13a57 100644
|
|
|
ff725c |
--- a/lib/pengine/unpack.c
|
|
|
ff725c |
+++ b/lib/pengine/unpack.c
|
|
|
ff725c |
@@ -909,7 +909,6 @@ unpack_handle_remote_attrs(node_t *this_node, xmlNode *state, pe_working_set_t *
|
|
|
ff725c |
const char *resource_discovery_enabled = NULL;
|
|
|
ff725c |
xmlNode *attrs = NULL;
|
|
|
ff725c |
resource_t *rsc = NULL;
|
|
|
ff725c |
- const char *shutdown = NULL;
|
|
|
ff725c |
|
|
|
ff725c |
if (crm_str_eq((const char *)state->name, XML_CIB_TAG_STATE, TRUE) == FALSE) {
|
|
|
ff725c |
return;
|
|
|
ff725c |
@@ -931,8 +930,7 @@ unpack_handle_remote_attrs(node_t *this_node, xmlNode *state, pe_working_set_t *
|
|
|
ff725c |
attrs = find_xml_node(state, XML_TAG_TRANSIENT_NODEATTRS, FALSE);
|
|
|
ff725c |
add_node_attrs(attrs, this_node, TRUE, data_set);
|
|
|
ff725c |
|
|
|
ff725c |
- shutdown = pe_node_attribute_raw(this_node, XML_CIB_ATTR_SHUTDOWN);
|
|
|
ff725c |
- if (shutdown != NULL && safe_str_neq("0", shutdown)) {
|
|
|
ff725c |
+ if (pe__shutdown_requested(this_node)) {
|
|
|
ff725c |
crm_info("Node %s is shutting down", this_node->details->uname);
|
|
|
ff725c |
this_node->details->shutdown = TRUE;
|
|
|
ff725c |
if (rsc) {
|
|
|
ff725c |
@@ -1392,7 +1390,6 @@ gboolean
|
|
|
ff725c |
determine_online_status(xmlNode * node_state, node_t * this_node, pe_working_set_t * data_set)
|
|
|
ff725c |
{
|
|
|
ff725c |
gboolean online = FALSE;
|
|
|
ff725c |
- const char *shutdown = NULL;
|
|
|
ff725c |
const char *exp_state = crm_element_value(node_state, XML_NODE_EXPECTED);
|
|
|
ff725c |
|
|
|
ff725c |
if (this_node == NULL) {
|
|
|
ff725c |
@@ -1402,9 +1399,8 @@ determine_online_status(xmlNode * node_state, node_t * this_node, pe_working_set
|
|
|
ff725c |
|
|
|
ff725c |
this_node->details->shutdown = FALSE;
|
|
|
ff725c |
this_node->details->expected_up = FALSE;
|
|
|
ff725c |
- shutdown = pe_node_attribute_raw(this_node, XML_CIB_ATTR_SHUTDOWN);
|
|
|
ff725c |
|
|
|
ff725c |
- if (shutdown != NULL && safe_str_neq("0", shutdown)) {
|
|
|
ff725c |
+ if (pe__shutdown_requested(this_node)) {
|
|
|
ff725c |
this_node->details->shutdown = TRUE;
|
|
|
ff725c |
|
|
|
ff725c |
} else if (safe_str_eq(exp_state, CRMD_JOINSTATE_MEMBER)) {
|
|
|
ff725c |
diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
|
|
|
ff725c |
index 5b893f7..c5fd0f7 100644
|
|
|
ff725c |
--- a/lib/pengine/utils.c
|
|
|
ff725c |
+++ b/lib/pengine/utils.c
|
|
|
ff725c |
@@ -2510,3 +2510,23 @@ void pe_action_set_reason(pe_action_t *action, const char *reason, bool overwrit
|
|
|
ff725c |
}
|
|
|
ff725c |
}
|
|
|
ff725c |
}
|
|
|
ff725c |
+
|
|
|
ff725c |
+/*!
|
|
|
ff725c |
+ * \internal
|
|
|
ff725c |
+ * \brief Check whether shutdown has been requested for a node
|
|
|
ff725c |
+ *
|
|
|
ff725c |
+ * \param[in] node Node to check
|
|
|
ff725c |
+ *
|
|
|
ff725c |
+ * \return TRUE if node has shutdown attribute set and nonzero, FALSE otherwise
|
|
|
ff725c |
+ * \note This differs from simply using node->details->shutdown in that it can
|
|
|
ff725c |
+ * be used before that has been determined (and in fact to determine it),
|
|
|
ff725c |
+ * and it can also be used to distinguish requested shutdown from implicit
|
|
|
ff725c |
+ * shutdown of remote nodes by virtue of their connection stopping.
|
|
|
ff725c |
+ */
|
|
|
ff725c |
+bool
|
|
|
ff725c |
+pe__shutdown_requested(pe_node_t *node)
|
|
|
ff725c |
+{
|
|
|
ff725c |
+ const char *shutdown = pe_node_attribute_raw(node, XML_CIB_ATTR_SHUTDOWN);
|
|
|
ff725c |
+
|
|
|
ff725c |
+ return shutdown && strcmp(shutdown, "0");
|
|
|
ff725c |
+}
|
|
|
ff725c |
--
|
|
|
ff725c |
1.8.3.1
|
|
|
ff725c |
|
|
|
ff725c |
|
|
|
ff725c |
From 1e9903326a59f58d9dd2f2618d709f8aa61e41e9 Mon Sep 17 00:00:00 2001
|
|
|
ff725c |
From: Ken Gaillot <kgaillot@redhat.com>
|
|
|
ff725c |
Date: Wed, 5 Jun 2019 16:37:26 -0500
|
|
|
ff725c |
Subject: [PATCH 2/4] Fix: scheduler: remote state is failed if node is
|
|
|
ff725c |
shutting down with connection failure
|
|
|
ff725c |
|
|
|
ff725c |
When determining remote state, if the connection resource is failed and not
|
|
|
ff725c |
being started again, we consider the state to be unknown if the connection has
|
|
|
ff725c |
a reconnect interval, because we won't know whether the connection can be
|
|
|
ff725c |
recovered until the interval expires and we re-attempt connection.
|
|
|
ff725c |
|
|
|
ff725c |
However, if the node is shutting down at the time, we won't re-attempt
|
|
|
ff725c |
connection, so consider the state failed in that case. (Note that we check the
|
|
|
ff725c |
actual shutdown node attribute, rather than node->details->shutdown, since that
|
|
|
ff725c |
is set for remote nodes whenever the connection is stopping.)
|
|
|
ff725c |
|
|
|
ff725c |
This avoids a situation where actions that cannot succeed can be scheduled on a
|
|
|
ff725c |
remote node that's shutting down.
|
|
|
ff725c |
---
|
|
|
ff725c |
daemons/schedulerd/sched_allocate.c | 3 ++-
|
|
|
ff725c |
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
ff725c |
|
|
|
ff725c |
diff --git a/daemons/schedulerd/sched_allocate.c b/daemons/schedulerd/sched_allocate.c
|
|
|
ff725c |
index 3363a72..b7d1b48 100644
|
|
|
ff725c |
--- a/daemons/schedulerd/sched_allocate.c
|
|
|
ff725c |
+++ b/daemons/schedulerd/sched_allocate.c
|
|
|
ff725c |
@@ -1972,7 +1972,8 @@ get_remote_node_state(pe_node_t *node)
|
|
|
ff725c |
|
|
|
ff725c |
if ((remote_rsc->next_role == RSC_ROLE_STOPPED)
|
|
|
ff725c |
&& remote_rsc->remote_reconnect_ms
|
|
|
ff725c |
- && node->details->remote_was_fenced) {
|
|
|
ff725c |
+ && node->details->remote_was_fenced
|
|
|
ff725c |
+ && !pe__shutdown_requested(node)) {
|
|
|
ff725c |
|
|
|
ff725c |
/* We won't know whether the connection is recoverable until the
|
|
|
ff725c |
* reconnect interval expires and we reattempt connection.
|
|
|
ff725c |
--
|
|
|
ff725c |
1.8.3.1
|
|
|
ff725c |
|
|
|
ff725c |
|
|
|
ff725c |
From ea70750d04219618b5feeda04443b27616e441a0 Mon Sep 17 00:00:00 2001
|
|
|
ff725c |
From: Ken Gaillot <kgaillot@redhat.com>
|
|
|
ff725c |
Date: Wed, 5 Jun 2019 16:43:19 -0500
|
|
|
ff725c |
Subject: [PATCH 3/4] Fix: libpe_status: don't order implied stops relative to
|
|
|
ff725c |
a remote connection
|
|
|
ff725c |
|
|
|
ff725c |
Actions behind a remote connection are ordered relative to any start or stop of
|
|
|
ff725c |
the remote connection. However, if the action is a stop implied due to fencing,
|
|
|
ff725c |
it does not require the remote connection, and the ordering should not be done.
|
|
|
ff725c |
|
|
|
ff725c |
This avoids a delay in the remote connection recovery if it is failed, e.g.
|
|
|
ff725c |
previously the ordering would look like:
|
|
|
ff725c |
|
|
|
ff725c |
fence remote node -> implied stop of resource on remote -> stop connection
|
|
|
ff725c |
|
|
|
ff725c |
Now, the connection stop can proceed simultaneously with the remote node
|
|
|
ff725c |
fencing.
|
|
|
ff725c |
---
|
|
|
ff725c |
daemons/schedulerd/sched_allocate.c | 11 +++++------
|
|
|
ff725c |
1 file changed, 5 insertions(+), 6 deletions(-)
|
|
|
ff725c |
|
|
|
ff725c |
diff --git a/daemons/schedulerd/sched_allocate.c b/daemons/schedulerd/sched_allocate.c
|
|
|
ff725c |
index b7d1b48..9f82c00 100644
|
|
|
ff725c |
--- a/daemons/schedulerd/sched_allocate.c
|
|
|
ff725c |
+++ b/daemons/schedulerd/sched_allocate.c
|
|
|
ff725c |
@@ -2065,14 +2065,13 @@ apply_remote_ordering(action_t *action, pe_working_set_t *data_set)
|
|
|
ff725c |
pe_order_implies_first, data_set);
|
|
|
ff725c |
|
|
|
ff725c |
} else if(state == remote_state_failed) {
|
|
|
ff725c |
- /* We would only be here if the resource is
|
|
|
ff725c |
- * running on the remote node. Since we have no
|
|
|
ff725c |
- * way to stop it, it is necessary to fence the
|
|
|
ff725c |
- * node.
|
|
|
ff725c |
+ /* The resource is active on the node, but since we don't have a
|
|
|
ff725c |
+ * valid connection, the only way to stop the resource is by
|
|
|
ff725c |
+ * fencing the node. There is no need to order the stop relative
|
|
|
ff725c |
+ * to the remote connection, since the stop will become implied
|
|
|
ff725c |
+ * by the fencing.
|
|
|
ff725c |
*/
|
|
|
ff725c |
pe_fence_node(data_set, action->node, "resources are active and the connection is unrecoverable");
|
|
|
ff725c |
- order_action_then_stop(action, remote_rsc,
|
|
|
ff725c |
- pe_order_implies_first, data_set);
|
|
|
ff725c |
|
|
|
ff725c |
} else if(remote_rsc->next_role == RSC_ROLE_STOPPED) {
|
|
|
ff725c |
/* State must be remote_state_unknown or remote_state_stopped.
|
|
|
ff725c |
--
|
|
|
ff725c |
1.8.3.1
|
|
|
ff725c |
|
|
|
ff725c |
|
|
|
ff725c |
From 091c367369b892d26fe0de99d35cf521b6249d10 Mon Sep 17 00:00:00 2001
|
|
|
ff725c |
From: Ken Gaillot <kgaillot@redhat.com>
|
|
|
ff725c |
Date: Sat, 8 Jun 2019 16:51:20 -0500
|
|
|
ff725c |
Subject: [PATCH 4/4] Test: cts-scheduler: update regression tests for remote
|
|
|
ff725c |
connection ordering change
|
|
|
ff725c |
|
|
|
ff725c |
Remote connection stops no longer have to wait for implied stops of resources
|
|
|
ff725c |
behind the connection.
|
|
|
ff725c |
|
|
|
ff725c |
Unchanged from before, if the remote connection stops are implied themselves,
|
|
|
ff725c |
they can be confirmed immediately without waiting for their host's fencing,
|
|
|
ff725c |
because remote connections have "requires" set to "quorum" rather than
|
|
|
ff725c |
"fencing".
|
|
|
ff725c |
---
|
|
|
ff725c |
cts/scheduler/order-expired-failure.dot | 1 -
|
|
|
ff725c |
cts/scheduler/order-expired-failure.exp | 6 +-----
|
|
|
ff725c |
cts/scheduler/order-expired-failure.summary | 2 +-
|
|
|
ff725c |
cts/scheduler/remote-connection-unrecoverable.dot | 1 -
|
|
|
ff725c |
cts/scheduler/remote-connection-unrecoverable.exp | 6+-----
|
|
|
ff725c |
cts/scheduler/remote-connection-unrecoverable.summary | 2 +-
|
|
|
ff725c |
cts/scheduler/remote-fence-before-reconnect.dot | 1 -
|
|
|
ff725c |
cts/scheduler/remote-fence-before-reconnect.exp | 6 +-----
|
|
|
ff725c |
cts/scheduler/remote-fence-before-reconnect.summary | 2 +-
|
|
|
ff725c |
cts/scheduler/remote-recover-all.dot | 2 --
|
|
|
ff725c |
cts/scheduler/remote-recover-all.exp | 12 ++----------
|
|
|
ff725c |
cts/scheduler/remote-recover-all.summary | 4 ++--
|
|
|
ff725c |
cts/scheduler/remote-recover-no-resources.dot | 1 -
|
|
|
ff725c |
cts/scheduler/remote-recover-no-resources.exp | 6 +-----
|
|
|
ff725c |
cts/scheduler/remote-recover-no-resources.summary | 2 +-
|
|
|
ff725c |
cts/scheduler/remote-recover-unknown.dot | 1 -
|
|
|
ff725c |
cts/scheduler/remote-recover-unknown.exp | 6 +-----
|
|
|
ff725c |
cts/scheduler/remote-recover-unknown.summary | 2 +-
|
|
|
ff725c |
18 files changed, 14 insertions(+), 53 deletions(-)
|
|
|
ff725c |
|
|
|
ff725c |
diff --git a/cts/scheduler/order-expired-failure.dot b/cts/scheduler/order-expired-failure.dot
|
|
|
ff725c |
index 2e9963b..5c21d5d 100644
|
|
|
ff725c |
--- a/cts/scheduler/order-expired-failure.dot
|
|
|
ff725c |
+++ b/cts/scheduler/order-expired-failure.dot
|
|
|
ff725c |
@@ -4,7 +4,6 @@ digraph "g" {
|
|
|
ff725c |
"compute-unfence-trigger-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"compute-unfence-trigger-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"compute-unfence-trigger_stop_0 overcloud-novacompute-1" -> "compute-unfence-trigger-clone_stopped_0" [ style = bold]
|
|
|
ff725c |
-"compute-unfence-trigger_stop_0 overcloud-novacompute-1" -> "overcloud-novacompute-1_stop_0 controller-1" [ style = bold]
|
|
|
ff725c |
"compute-unfence-trigger_stop_0 overcloud-novacompute-1" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"ip-10.0.0.110_monitor_10000 controller-1" [ style=bold color="green" fontcolor="black"]
|
|
|
ff725c |
"ip-10.0.0.110_start_0 controller-1" -> "ip-10.0.0.110_monitor_10000 controller-1" [ style = bold]
|
|
|
ff725c |
diff --git a/cts/scheduler/order-expired-failure.exp b/cts/scheduler/order-expired-failure.exp
|
|
|
ff725c |
index c476bc2..4a50493 100644
|
|
|
ff725c |
--- a/cts/scheduler/order-expired-failure.exp
|
|
|
ff725c |
+++ b/cts/scheduler/order-expired-failure.exp
|
|
|
ff725c |
@@ -9,11 +9,7 @@
|
|
|
ff725c |
</downed>
|
|
|
ff725c |
</rsc_op>
|
|
|
ff725c |
</action_set>
|
|
|
ff725c |
- <inputs>
|
|
|
ff725c |
- <trigger>
|
|
|
ff725c |
- <pseudo_event id="220" operation="stop" operation_key="compute-unfence-trigger_stop_0" internal_operation_key="compute-unfence-trigger:1_stop_0"/>
|
|
|
ff725c |
- </trigger>
|
|
|
ff725c |
- </inputs>
|
|
|
ff725c |
+ <inputs/>
|
|
|
ff725c |
</synapse>
|
|
|
ff725c |
<synapse id="1">
|
|
|
ff725c |
<action_set>
|
|
|
ff725c |
diff --git a/cts/scheduler/order-expired-failure.summary b/cts/scheduler/order-expired-failure.summary
|
|
|
ff725c |
index c86bb91..2cf43ed 100644
|
|
|
ff725c |
--- a/cts/scheduler/order-expired-failure.summary
|
|
|
ff725c |
+++ b/cts/scheduler/order-expired-failure.summary
|
|
|
ff725c |
@@ -52,6 +52,7 @@ Transition Summary:
|
|
|
ff725c |
* Stop compute-unfence-trigger:1 ( overcloud-novacompute-1 ) due to node availability
|
|
|
ff725c |
|
|
|
ff725c |
Executing cluster transition:
|
|
|
ff725c |
+ * Resource action: overcloud-novacompute-1 stop on controller-1
|
|
|
ff725c |
* Resource action: stonith-fence_compute-fence-nova stop on controller-2
|
|
|
ff725c |
* Fencing overcloud-novacompute-1 (reboot)
|
|
|
ff725c |
* Cluster action: clear_failcount for overcloud-novacompute-1 on controller-1
|
|
|
ff725c |
@@ -62,7 +63,6 @@ Executing cluster transition:
|
|
|
ff725c |
* Resource action: ip-10.0.0.110 monitor=10000 on controller-1
|
|
|
ff725c |
* Pseudo action: compute-unfence-trigger_stop_0
|
|
|
ff725c |
* Pseudo action: compute-unfence-trigger-clone_stopped_0
|
|
|
ff725c |
- * Resource action: overcloud-novacompute-1 stop on controller-1
|
|
|
ff725c |
Using the original execution date of: 2018-04-09 07:55:35Z
|
|
|
ff725c |
|
|
|
ff725c |
Revised cluster status:
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-connection-unrecoverable.dot b/cts/scheduler/remote-connection-unrecoverable.dot
|
|
|
ff725c |
index c86bb91..2cf43ed 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-connection-unrecoverable.dot
|
|
|
ff725c |
+++ b/cts/scheduler/remote-connection-unrecoverable.dot
|
|
|
ff725c |
@@ -12,7 +12,6 @@
|
|
|
ff725c |
"rsc1_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
|
|
|
ff725c |
"rsc1_start_0 node2" -> "rsc1_monitor_10000 node2" [ style = bold]
|
|
|
ff725c |
"rsc1_start_0 node2" [ style=bold color="green" fontcolor="black"]
|
|
|
ff725c |
-"rsc1_stop_0 remote1" -> "remote1_stop_0 node1" [ style = bold]
|
|
|
ff725c |
"rsc1_stop_0 remote1" -> "rsc1_delete_0 remote1" [ style = dashed]
|
|
|
ff725c |
"rsc1_stop_0 remote1" -> "rsc1_start_0 node2" [ style = bold]
|
|
|
ff725c |
"rsc1_stop_0 remote1" -> "rsc2-master_demote_0" [ style = bold]
|
|
|
ff725c |
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-connection-unrecoverable.exp b/cts/scheduler/remote-connection-unrecoverable.exp
|
|
|
ff725c |
index c86bb91..2cf43ed 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-connection-unrecoverable.exp
|
|
|
ff725c |
+++ b/cts/scheduler/remote-connection-unrecoverable.exp
|
|
|
ff725c |
@@ -5,11 +5,7 @@
|
|
|
ff725c |
<attributes CRM_meta_timeout="20000" reconnect_interval="60"/>
|
|
|
ff725c |
</pseudo_event>
|
|
|
ff725c |
</action_set>
|
|
|
ff725c |
- <inputs>
|
|
|
ff725c |
- <trigger>
|
|
|
ff725c |
- <pseudo_event id="6" operation="stop" operation_key="rsc1_stop_0"/>
|
|
|
ff725c |
- </trigger>
|
|
|
ff725c |
- </inputs>
|
|
|
ff725c |
+ <inputs/>
|
|
|
ff725c |
</synapse>
|
|
|
ff725c |
<synapse id="1">
|
|
|
ff725c |
<action_set>
|
|
|
ff725c |
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-connection-unrecoverable.summary b/cts/scheduler/remote-connection-unrecoverable.summary
|
|
|
ff725c |
index 23fa9ca..caff564 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-connection-unrecoverable.summary
|
|
|
ff725c |
+++ b/cts/scheduler/remote-connection-unrecoverable.summary
|
|
|
ff725c |
@@ -21,6 +21,7 @@ Transition Summary:
|
|
|
ff725c |
* Stop rsc2:0 ( Master node1 ) due to node availability
|
|
|
ff725c |
|
|
|
ff725c |
Executing cluster transition:
|
|
|
ff725c |
+ * Pseudo action: remote1_stop_0
|
|
|
ff725c |
* Resource action: killer stop on node2
|
|
|
ff725c |
* Resource action: rsc1 monitor on node2
|
|
|
ff725c |
* Fencing node1 (reboot)
|
|
|
ff725c |
@@ -29,7 +30,6 @@ Executing cluster transition:
|
|
|
ff725c |
* Resource action: killer monitor=60000 on node2
|
|
|
ff725c |
* Pseudo action: rsc1_stop_0
|
|
|
ff725c |
* Pseudo action: rsc2-master_demote_0
|
|
|
ff725c |
- * Pseudo action: remote1_stop_0
|
|
|
ff725c |
* Resource action: rsc1 start on node2
|
|
|
ff725c |
* Pseudo action: rsc2_demote_0
|
|
|
ff725c |
* Pseudo action: rsc2-master_demoted_0
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-fence-before-reconnect.dot b/cts/scheduler/remote-fence-before-reconnect.dot
|
|
|
ff725c |
index 4ced43e..5812b7f 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-fence-before-reconnect.dot
|
|
|
ff725c |
+++ b/cts/scheduler/remote-fence-before-reconnect.dot
|
|
|
ff725c |
@@ -3,7 +3,6 @@
|
|
|
ff725c |
"fake2_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
|
|
|
ff725c |
"fake2_start_0 c7auto1" -> "fake2_monitor_10000 c7auto1" [ style = bold]
|
|
|
ff725c |
"fake2_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
|
|
|
ff725c |
-"fake2_stop_0 c7auto4" -> "c7auto4_stop_0 c7auto1" [ style = bold]
|
|
|
ff725c |
"fake2_stop_0 c7auto4" -> "fake2_start_0 c7auto1" [ style = bold]
|
|
|
ff725c |
"fake2_stop_0 c7auto4" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"stonith 'reboot' c7auto4" -> "fake2_start_0 c7auto1" [ style = bold]
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-fence-before-reconnect.exp b/cts/scheduler/remote-fence-before-reconnect.exp
|
|
|
ff725c |
index f99d9ef..f506f85 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-fence-before-reconnect.exp
|
|
|
ff725c |
+++ b/cts/scheduler/remote-fence-before-reconnect.exp
|
|
|
ff725c |
@@ -9,11 +9,7 @@
|
|
|
ff725c |
</downed>
|
|
|
ff725c |
</rsc_op>
|
|
|
ff725c |
</action_set>
|
|
|
ff725c |
- <inputs>
|
|
|
ff725c |
- <trigger>
|
|
|
ff725c |
- <pseudo_event id="13" operation="stop" operation_key="fake2_stop_0"/>
|
|
|
ff725c |
- </trigger>
|
|
|
ff725c |
- </inputs>
|
|
|
ff725c |
+ <inputs/>
|
|
|
ff725c |
</synapse>
|
|
|
ff725c |
<synapse id="1">
|
|
|
ff725c |
<action_set>
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-fence-before-reconnect.summary b/cts/scheduler/remote-fence-before-reconnect.summary
|
|
|
ff725c |
index f61e18b..03eac20 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-fence-before-reconnect.summary
|
|
|
ff725c |
+++ b/cts/scheduler/remote-fence-before-reconnect.summary
|
|
|
ff725c |
@@ -17,9 +17,9 @@ Transition Summary:
|
|
|
ff725c |
* Move fake2 ( c7auto4 -> c7auto1 )
|
|
|
ff725c |
|
|
|
ff725c |
Executing cluster transition:
|
|
|
ff725c |
+ * Resource action: c7auto4 stop on c7auto1
|
|
|
ff725c |
* Fencing c7auto4 (reboot)
|
|
|
ff725c |
* Pseudo action: fake2_stop_0
|
|
|
ff725c |
- * Resource action: c7auto4 stop on c7auto1
|
|
|
ff725c |
* Resource action: fake2 start on c7auto1
|
|
|
ff725c |
* Resource action: fake2 monitor=10000 on c7auto1
|
|
|
ff725c |
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-all.dot b/cts/scheduler/remote-recover-all.dot
|
|
|
ff725c |
index deed802..4128b10 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-all.dot
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-all.dot
|
|
|
ff725c |
@@ -19,7 +19,6 @@ digraph "g" {
|
|
|
ff725c |
"galera_demote_0 galera-2" -> "galera_stop_0 galera-2" [ style = bold]
|
|
|
ff725c |
"galera_demote_0 galera-2" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"galera_monitor_10000 galera-0" [ style=bold color="green" fontcolor="black"]
|
|
|
ff725c |
-"galera_stop_0 galera-2" -> "galera-2_stop_0 controller-1" [ style = bold]
|
|
|
ff725c |
"galera_stop_0 galera-2" -> "galera-master_stopped_0" [ style = bold]
|
|
|
ff725c |
"galera_stop_0 galera-2" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"haproxy-clone_stop_0" -> "haproxy-clone_stopped_0" [ style = bold]
|
|
|
ff725c |
@@ -60,7 +59,6 @@ digraph "g" {
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" -> "rabbitmq_post_notify_stonith_0 messaging-0" [ style = bold]
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" -> "rabbitmq_post_notify_stonith_0 messaging-2" [ style = bold]
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
-"rabbitmq_stop_0 messaging-1" -> "messaging-1_stop_0 controller-1" [ style = bold]
|
|
|
ff725c |
"rabbitmq_stop_0 messaging-1" -> "rabbitmq-clone_stopped_0" [ style = bold]
|
|
|
ff725c |
"rabbitmq_stop_0 messaging-1" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"redis-master_confirmed-post_notify_stopped_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-all.exp b/cts/scheduler/remote-recover-all.exp
|
|
|
ff725c |
index 8137ffb..0cb51f6 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-all.exp
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-all.exp
|
|
|
ff725c |
@@ -5,11 +5,7 @@
|
|
|
ff725c |
<attributes CRM_meta_name="stop" CRM_meta_timeout="60000" reconnect_interval="60"/>
|
|
|
ff725c |
</pseudo_event>
|
|
|
ff725c |
</action_set>
|
|
|
ff725c |
- <inputs>
|
|
|
ff725c |
- <trigger>
|
|
|
ff725c |
- <pseudo_event id="39" operation="stop" operation_key="rabbitmq_stop_0" internal_operation_key="rabbitmq:2_stop_0"/>
|
|
|
ff725c |
- </trigger>
|
|
|
ff725c |
- </inputs>
|
|
|
ff725c |
+ <inputs/>
|
|
|
ff725c |
</synapse>
|
|
|
ff725c |
<synapse id="1">
|
|
|
ff725c |
<action_set>
|
|
|
ff725c |
@@ -57,11 +53,7 @@
|
|
|
ff725c |
<attributes CRM_meta_name="stop" CRM_meta_timeout="60000" reconnect_interval="60"/>
|
|
|
ff725c |
</pseudo_event>
|
|
|
ff725c |
</action_set>
|
|
|
ff725c |
- <inputs>
|
|
|
ff725c |
- <trigger>
|
|
|
ff725c |
- <pseudo_event id="49" operation="stop" operation_key="galera_stop_0" internal_operation_key="galera:1_stop_0"/>
|
|
|
ff725c |
- </trigger>
|
|
|
ff725c |
- </inputs>
|
|
|
ff725c |
+ <inputs/>
|
|
|
ff725c |
</synapse>
|
|
|
ff725c |
<synapse id="5" priority="1000000">
|
|
|
ff725c |
<action_set>
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-all.summary b/cts/scheduler/remote-recover-all.summary
|
|
|
ff725c |
index 2ac0c6a..d095fdd 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-all.summary
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-all.summary
|
|
|
ff725c |
@@ -56,7 +56,9 @@ Transition Summary:
|
|
|
ff725c |
* Move stonith-fence_ipmilan-5254005bdbb5 ( controller-1 -> controller-2 )
|
|
|
ff725c |
|
|
|
ff725c |
Executing cluster transition:
|
|
|
ff725c |
+ * Pseudo action: messaging-1_stop_0
|
|
|
ff725c |
* Pseudo action: galera-0_stop_0
|
|
|
ff725c |
+ * Pseudo action: galera-2_stop_0
|
|
|
ff725c |
* Pseudo action: galera-master_demote_0
|
|
|
ff725c |
* Pseudo action: redis-master_pre_notify_stop_0
|
|
|
ff725c |
* Resource action: stonith-fence_ipmilan-525400bbf613 stop on controller-0
|
|
|
ff725c |
@@ -94,7 +96,6 @@ Executing cluster transition:
|
|
|
ff725c |
* Resource action: stonith-fence_ipmilan-525400b4f6bd monitor=60000 on controller-0
|
|
|
ff725c |
* Resource action: stonith-fence_ipmilan-5254005bdbb5 start on controller-2
|
|
|
ff725c |
* Resource action: galera-0 monitor=20000 on controller-2
|
|
|
ff725c |
- * Pseudo action: galera-2_stop_0
|
|
|
ff725c |
* Resource action: rabbitmq notify on messaging-2
|
|
|
ff725c |
* Resource action: rabbitmq notify on messaging-0
|
|
|
ff725c |
* Pseudo action: rabbitmq_notified_0
|
|
|
ff725c |
@@ -107,7 +108,6 @@ Executing cluster transition:
|
|
|
ff725c |
* Resource action: ip-172.17.1.17 start on controller-2
|
|
|
ff725c |
* Resource action: ip-172.17.4.11 start on controller-2
|
|
|
ff725c |
* Resource action: stonith-fence_ipmilan-5254005bdbb5 monitor=60000 on controller-2
|
|
|
ff725c |
- * Pseudo action: messaging-1_stop_0
|
|
|
ff725c |
* Pseudo action: redis_notified_0
|
|
|
ff725c |
* Resource action: ip-172.17.1.14 monitor=10000 on controller-2
|
|
|
ff725c |
* Resource action: ip-172.17.1.17 monitor=10000 on controller-2
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-no-resources.dot b/cts/scheduler/remote-recover-no-resources.dot
|
|
|
ff725c |
index ef78aa6..a2f8ce0 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-no-resources.dot
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-no-resources.dot
|
|
|
ff725c |
@@ -45,7 +45,6 @@ digraph "g" {
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" -> "rabbitmq_post_notify_stonith_0 messaging-0" [ style = bold]
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" -> "rabbitmq_post_notify_stonith_0 messaging-2" [ style = bold]
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
-"rabbitmq_stop_0 messaging-1" -> "messaging-1_stop_0 controller-1" [ style = bold]
|
|
|
ff725c |
"rabbitmq_stop_0 messaging-1" -> "rabbitmq-clone_stopped_0" [ style = bold]
|
|
|
ff725c |
"rabbitmq_stop_0 messaging-1" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"redis-master_confirmed-post_notify_stopped_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-no-resources.exp b/cts/scheduler/remote-recover-no-resources.exp
|
|
|
ff725c |
index 8a67c11..90470fb 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-no-resources.exp
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-no-resources.exp
|
|
|
ff725c |
@@ -5,11 +5,7 @@
|
|
|
ff725c |
<attributes CRM_meta_name="stop" CRM_meta_timeout="60000" reconnect_interval="60"/>
|
|
|
ff725c |
</pseudo_event>
|
|
|
ff725c |
</action_set>
|
|
|
ff725c |
- <inputs>
|
|
|
ff725c |
- <trigger>
|
|
|
ff725c |
- <pseudo_event id="38" operation="stop" operation_key="rabbitmq_stop_0" internal_operation_key="rabbitmq:2_stop_0"/>
|
|
|
ff725c |
- </trigger>
|
|
|
ff725c |
- </inputs>
|
|
|
ff725c |
+ <inputs/>
|
|
|
ff725c |
</synapse>
|
|
|
ff725c |
<synapse id="1">
|
|
|
ff725c |
<action_set>
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-no-resources.summary b/cts/scheduler/remote-recover-no-resources.summary
|
|
|
ff725c |
index 89da784..18a989b 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-no-resources.summary
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-no-resources.summary
|
|
|
ff725c |
@@ -54,6 +54,7 @@ Transition Summary:
|
|
|
ff725c |
* Move stonith-fence_ipmilan-5254005bdbb5 ( controller-1 -> controller-2 )
|
|
|
ff725c |
|
|
|
ff725c |
Executing cluster transition:
|
|
|
ff725c |
+ * Pseudo action: messaging-1_stop_0
|
|
|
ff725c |
* Pseudo action: galera-0_stop_0
|
|
|
ff725c |
* Pseudo action: galera-2_stop_0
|
|
|
ff725c |
* Pseudo action: redis-master_pre_notify_stop_0
|
|
|
ff725c |
@@ -92,7 +93,6 @@ Executing cluster transition:
|
|
|
ff725c |
* Pseudo action: ip-172.17.1.17_stop_0
|
|
|
ff725c |
* Pseudo action: ip-172.17.4.11_stop_0
|
|
|
ff725c |
* Resource action: stonith-fence_ipmilan-5254005bdbb5 monitor=60000 on controller-2
|
|
|
ff725c |
- * Pseudo action: messaging-1_stop_0
|
|
|
ff725c |
* Resource action: redis notify on controller-0
|
|
|
ff725c |
* Resource action: redis notify on controller-2
|
|
|
ff725c |
* Pseudo action: redis-master_confirmed-post_notify_stopped_0
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-unknown.dot b/cts/scheduler/remote-recover-unknown.dot
|
|
|
ff725c |
index 5cd760b..29ab59f 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-unknown.dot
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-unknown.dot
|
|
|
ff725c |
@@ -46,7 +46,6 @@ digraph "g" {
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" -> "rabbitmq_post_notify_stonith_0 messaging-0" [ style = bold]
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" -> "rabbitmq_post_notify_stonith_0 messaging-2" [ style = bold]
|
|
|
ff725c |
"rabbitmq_post_notify_stonith_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
-"rabbitmq_stop_0 messaging-1" -> "messaging-1_stop_0 controller-1" [ style = bold]
|
|
|
ff725c |
"rabbitmq_stop_0 messaging-1" -> "rabbitmq-clone_stopped_0" [ style = bold]
|
|
|
ff725c |
"rabbitmq_stop_0 messaging-1" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
"redis-master_confirmed-post_notify_stopped_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-unknown.exp b/cts/scheduler/remote-recover-unknown.exp
|
|
|
ff725c |
index ac6f004..82cb65f7 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-unknown.exp
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-unknown.exp
|
|
|
ff725c |
@@ -5,11 +5,7 @@
|
|
|
ff725c |
<attributes CRM_meta_name="stop" CRM_meta_timeout="60000" reconnect_interval="60"/>
|
|
|
ff725c |
</pseudo_event>
|
|
|
ff725c |
</action_set>
|
|
|
ff725c |
- <inputs>
|
|
|
ff725c |
- <trigger>
|
|
|
ff725c |
- <pseudo_event id="39" operation="stop" operation_key="rabbitmq_stop_0" internal_operation_key="rabbitmq:2_stop_0"/>
|
|
|
ff725c |
- </trigger>
|
|
|
ff725c |
- </inputs>
|
|
|
ff725c |
+ <inputs/>
|
|
|
ff725c |
</synapse>
|
|
|
ff725c |
<synapse id="1">
|
|
|
ff725c |
<action_set>
|
|
|
ff725c |
diff --git a/cts/scheduler/remote-recover-unknown.summary b/cts/scheduler/remote-recover-unknown.summary
|
|
|
ff725c |
index 2c60713..4d7a411 100644
|
|
|
ff725c |
--- a/cts/scheduler/remote-recover-unknown.summary
|
|
|
ff725c |
+++ b/cts/scheduler/remote-recover-unknown.summary
|
|
|
ff725c |
@@ -55,6 +55,7 @@ Transition Summary:
|
|
|
ff725c |
* Move stonith-fence_ipmilan-5254005bdbb5 ( controller-1 -> controller-2 )
|
|
|
ff725c |
|
|
|
ff725c |
Executing cluster transition:
|
|
|
ff725c |
+ * Pseudo action: messaging-1_stop_0
|
|
|
ff725c |
* Pseudo action: galera-0_stop_0
|
|
|
ff725c |
* Pseudo action: galera-2_stop_0
|
|
|
ff725c |
* Pseudo action: redis-master_pre_notify_stop_0
|
|
|
ff725c |
@@ -94,7 +95,6 @@ Executing cluster transition:
|
|
|
ff725c |
* Pseudo action: ip-172.17.1.17_stop_0
|
|
|
ff725c |
* Pseudo action: ip-172.17.4.11_stop_0
|
|
|
ff725c |
* Resource action: stonith-fence_ipmilan-5254005bdbb5 monitor=60000 on controller-2
|
|
|
ff725c |
- * Pseudo action: messaging-1_stop_0
|
|
|
ff725c |
* Resource action: redis notify on controller-0
|
|
|
ff725c |
* Resource action: redis notify on controller-2
|
|
|
ff725c |
* Pseudo action: redis-master_confirmed-post_notify_stopped_0
|
|
|
ff725c |
--
|
|
|
ff725c |
1.8.3.1
|
|
|
ff725c |
|