|
|
3d71c6 |
From: Andrew Beekhof <andrew@beekhof.net>
|
|
|
3d71c6 |
Date: Tue, 18 Aug 2015 10:30:49 +1000
|
|
|
3d71c6 |
Subject: [PATCH] Fix: PE: Bug cl#5247 - Imply resources running on a container
|
|
|
3d71c6 |
are stopped when the container is stopped
|
|
|
3d71c6 |
|
|
|
3d71c6 |
(cherry picked from commit e10eff1902d5b451454e2d467ee337c964f536ab)
|
|
|
3d71c6 |
---
|
|
|
3d71c6 |
lib/pengine/unpack.c | 29 ++++++++++++++++++++---------
|
|
|
3d71c6 |
pengine/allocate.c | 17 +++++++++++++++++
|
|
|
3d71c6 |
pengine/graph.c | 7 ++++++-
|
|
|
3d71c6 |
pengine/test10/bug-rh-1097457.dot | 2 ++
|
|
|
3d71c6 |
pengine/test10/bug-rh-1097457.exp | 12 ++++++++++--
|
|
|
3d71c6 |
pengine/test10/bug-rh-1097457.summary | 10 +++++-----
|
|
|
3d71c6 |
pengine/test10/whitebox-fail1.dot | 1 +
|
|
|
3d71c6 |
pengine/test10/whitebox-fail1.exp | 6 +++++-
|
|
|
3d71c6 |
pengine/test10/whitebox-fail1.summary | 8 ++++----
|
|
|
3d71c6 |
pengine/test10/whitebox-fail2.dot | 1 +
|
|
|
3d71c6 |
pengine/test10/whitebox-fail2.exp | 6 +++++-
|
|
|
3d71c6 |
pengine/test10/whitebox-fail2.summary | 8 ++++----
|
|
|
3d71c6 |
12 files changed, 80 insertions(+), 27 deletions(-)
|
|
|
3d71c6 |
|
|
|
3d71c6 |
diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
|
|
|
3d71c6 |
index 106c674..0f83be4 100644
|
|
|
3d71c6 |
--- a/lib/pengine/unpack.c
|
|
|
3d71c6 |
+++ b/lib/pengine/unpack.c
|
|
|
3d71c6 |
@@ -44,7 +44,7 @@ CRM_TRACE_INIT_DATA(pe_status);
|
|
|
3d71c6 |
|
|
|
3d71c6 |
gboolean unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
|
|
|
3d71c6 |
enum action_fail_response *failed, pe_working_set_t * data_set);
|
|
|
3d71c6 |
-static gboolean determine_remote_online_status(node_t * this_node);
|
|
|
3d71c6 |
+static gboolean determine_remote_online_status(pe_working_set_t * data_set, node_t * this_node);
|
|
|
3d71c6 |
|
|
|
3d71c6 |
static gboolean
|
|
|
3d71c6 |
is_dangling_container_remote_node(node_t *node)
|
|
|
3d71c6 |
@@ -73,6 +73,8 @@ pe_fence_node(pe_working_set_t * data_set, node_t * node, const char *reason)
|
|
|
3d71c6 |
if (is_set(rsc->flags, pe_rsc_failed) == FALSE) {
|
|
|
3d71c6 |
crm_warn("Remote node %s will be fenced by recovering container resource %s",
|
|
|
3d71c6 |
node->details->uname, rsc->id, reason);
|
|
|
3d71c6 |
+ /* node->details->unclean = TRUE; */
|
|
|
3d71c6 |
+ node->details->remote_requires_reset = TRUE;
|
|
|
3d71c6 |
set_bit(rsc->flags, pe_rsc_failed);
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
} else if (is_dangling_container_remote_node(node)) {
|
|
|
3d71c6 |
@@ -1157,7 +1159,7 @@ unpack_remote_status(xmlNode * status, pe_working_set_t * data_set)
|
|
|
3d71c6 |
if ((this_node == NULL) || (is_remote_node(this_node) == FALSE)) {
|
|
|
3d71c6 |
continue;
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
- determine_remote_online_status(this_node);
|
|
|
3d71c6 |
+ determine_remote_online_status(data_set, this_node);
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
|
|
|
3d71c6 |
/* process attributes */
|
|
|
3d71c6 |
@@ -1366,7 +1368,7 @@ determine_online_status_fencing(pe_working_set_t * data_set, xmlNode * node_stat
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
|
|
|
3d71c6 |
static gboolean
|
|
|
3d71c6 |
-determine_remote_online_status(node_t * this_node)
|
|
|
3d71c6 |
+determine_remote_online_status(pe_working_set_t * data_set, node_t * this_node)
|
|
|
3d71c6 |
{
|
|
|
3d71c6 |
resource_t *rsc = this_node->details->remote_rsc;
|
|
|
3d71c6 |
resource_t *container = NULL;
|
|
|
3d71c6 |
@@ -1393,13 +1395,21 @@ determine_remote_online_status(node_t * this_node)
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
|
|
|
3d71c6 |
/* Now check all the failure conditions. */
|
|
|
3d71c6 |
- if (is_set(rsc->flags, pe_rsc_failed) ||
|
|
|
3d71c6 |
- (rsc->role == RSC_ROLE_STOPPED) ||
|
|
|
3d71c6 |
- (container && is_set(container->flags, pe_rsc_failed)) ||
|
|
|
3d71c6 |
- (container && container->role == RSC_ROLE_STOPPED)) {
|
|
|
3d71c6 |
+ if(container && is_set(container->flags, pe_rsc_failed)) {
|
|
|
3d71c6 |
+ crm_trace("Remote node %s is set to UNCLEAN. rsc failed.", this_node->details->id);
|
|
|
3d71c6 |
+ this_node->details->online = FALSE;
|
|
|
3d71c6 |
+ this_node->details->remote_requires_reset = TRUE;
|
|
|
3d71c6 |
|
|
|
3d71c6 |
- crm_trace("Remote node %s is set to OFFLINE. node is stopped or rsc failed.", this_node->details->id);
|
|
|
3d71c6 |
+ } else if(is_set(rsc->flags, pe_rsc_failed)) {
|
|
|
3d71c6 |
+ crm_trace("Remote node %s is set to OFFLINE. rsc failed.", this_node->details->id);
|
|
|
3d71c6 |
this_node->details->online = FALSE;
|
|
|
3d71c6 |
+
|
|
|
3d71c6 |
+ } else if (rsc->role == RSC_ROLE_STOPPED
|
|
|
3d71c6 |
+ || (container && container->role == RSC_ROLE_STOPPED)) {
|
|
|
3d71c6 |
+
|
|
|
3d71c6 |
+ crm_trace("Remote node %s is set to OFFLINE. node is stopped.", this_node->details->id);
|
|
|
3d71c6 |
+ this_node->details->online = FALSE;
|
|
|
3d71c6 |
+ this_node->details->remote_requires_reset = FALSE;
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
|
|
|
3d71c6 |
remote_online_done:
|
|
|
3d71c6 |
@@ -3375,7 +3385,8 @@ find_operations(const char *rsc, const char *node, gboolean active_filter,
|
|
|
3d71c6 |
continue;
|
|
|
3d71c6 |
|
|
|
3d71c6 |
} else if (is_remote_node(this_node)) {
|
|
|
3d71c6 |
- determine_remote_online_status(this_node);
|
|
|
3d71c6 |
+ determine_remote_online_status(data_set, this_node);
|
|
|
3d71c6 |
+
|
|
|
3d71c6 |
} else {
|
|
|
3d71c6 |
determine_online_status(node_state, this_node, data_set);
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
diff --git a/pengine/allocate.c b/pengine/allocate.c
|
|
|
3d71c6 |
index c2e56f9..65ae05d 100644
|
|
|
3d71c6 |
--- a/pengine/allocate.c
|
|
|
3d71c6 |
+++ b/pengine/allocate.c
|
|
|
3d71c6 |
@@ -1406,6 +1406,23 @@ stage6(pe_working_set_t * data_set)
|
|
|
3d71c6 |
|
|
|
3d71c6 |
/* remote-nodes associated with a container resource (such as a vm) are not fenced */
|
|
|
3d71c6 |
if (is_container_remote_node(node)) {
|
|
|
3d71c6 |
+ /* Guest */
|
|
|
3d71c6 |
+ if (need_stonith
|
|
|
3d71c6 |
+ && node->details->remote_requires_reset
|
|
|
3d71c6 |
+ && pe_can_fence(data_set, node)) {
|
|
|
3d71c6 |
+ resource_t *container = node->details->remote_rsc->container;
|
|
|
3d71c6 |
+ char *key = stop_key(container);
|
|
|
3d71c6 |
+ GListPtr stop_list = find_actions(container->actions, key, NULL);
|
|
|
3d71c6 |
+
|
|
|
3d71c6 |
+ crm_info("Impliying node %s is down when container %s is stopped (%p)",
|
|
|
3d71c6 |
+ node->details->uname, container->id, stop_list);
|
|
|
3d71c6 |
+ if(stop_list) {
|
|
|
3d71c6 |
+ stonith_constraints(node, stop_list->data, data_set);
|
|
|
3d71c6 |
+ }
|
|
|
3d71c6 |
+
|
|
|
3d71c6 |
+ g_list_free(stop_list);
|
|
|
3d71c6 |
+ free(key);
|
|
|
3d71c6 |
+ }
|
|
|
3d71c6 |
continue;
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
|
|
|
3d71c6 |
diff --git a/pengine/graph.c b/pengine/graph.c
|
|
|
3d71c6 |
index 3d832f0..a50f15b 100644
|
|
|
3d71c6 |
--- a/pengine/graph.c
|
|
|
3d71c6 |
+++ b/pengine/graph.c
|
|
|
3d71c6 |
@@ -697,7 +697,12 @@ stonith_constraints(node_t * node, action_t * stonith_op, pe_working_set_t * dat
|
|
|
3d71c6 |
for (lpc = data_set->resources; lpc != NULL; lpc = lpc->next) {
|
|
|
3d71c6 |
resource_t *rsc = (resource_t *) lpc->data;
|
|
|
3d71c6 |
|
|
|
3d71c6 |
- rsc_stonith_ordering(rsc, stonith_op, data_set);
|
|
|
3d71c6 |
+ if(stonith_op->rsc == NULL) {
|
|
|
3d71c6 |
+ rsc_stonith_ordering(rsc, stonith_op, data_set);
|
|
|
3d71c6 |
+
|
|
|
3d71c6 |
+ } else if(stonith_op->rsc != rsc && stonith_op->rsc != rsc->container) {
|
|
|
3d71c6 |
+ rsc_stonith_ordering(rsc, stonith_op, data_set);
|
|
|
3d71c6 |
+ }
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
}
|
|
|
3d71c6 |
|
|
|
3d71c6 |
diff --git a/pengine/test10/bug-rh-1097457.dot b/pengine/test10/bug-rh-1097457.dot
|
|
|
3d71c6 |
index 666099c..078d177 100644
|
|
|
3d71c6 |
--- a/pengine/test10/bug-rh-1097457.dot
|
|
|
3d71c6 |
+++ b/pengine/test10/bug-rh-1097457.dot
|
|
|
3d71c6 |
@@ -49,10 +49,12 @@ digraph "g" {
|
|
|
3d71c6 |
"VM2_start_0 lama3" [ style=bold color="green" fontcolor="black"]
|
|
|
3d71c6 |
"VM2_stop_0 lama3" -> "FAKE4-IP_stop_0 lamaVM2" [ style = bold]
|
|
|
3d71c6 |
"VM2_stop_0 lama3" -> "FAKE4_stop_0 lamaVM2" [ style = bold]
|
|
|
3d71c6 |
+"VM2_stop_0 lama3" -> "FAKE6-clone_stop_0" [ style = bold]
|
|
|
3d71c6 |
"VM2_stop_0 lama3" -> "FAKE6_stop_0 lamaVM2" [ style = bold]
|
|
|
3d71c6 |
"VM2_stop_0 lama3" -> "FSlun3_stop_0 lamaVM2" [ style = bold]
|
|
|
3d71c6 |
"VM2_stop_0 lama3" -> "VM2_start_0 lama3" [ style = bold]
|
|
|
3d71c6 |
"VM2_stop_0 lama3" -> "all_stopped" [ style = bold]
|
|
|
3d71c6 |
+"VM2_stop_0 lama3" -> "lamaVM2-G4_stop_0" [ style = bold]
|
|
|
3d71c6 |
"VM2_stop_0 lama3" [ style=bold color="green" fontcolor="black"]
|
|
|
3d71c6 |
"all_stopped" [ style=bold color="green" fontcolor="orange"]
|
|
|
3d71c6 |
"lamaVM2-G4_running_0" [ style=bold color="green" fontcolor="orange"]
|
|
|
3d71c6 |
diff --git a/pengine/test10/bug-rh-1097457.exp b/pengine/test10/bug-rh-1097457.exp
|
|
|
3d71c6 |
index 36af9f3..175f413 100644
|
|
|
3d71c6 |
--- a/pengine/test10/bug-rh-1097457.exp
|
|
|
3d71c6 |
+++ b/pengine/test10/bug-rh-1097457.exp
|
|
|
3d71c6 |
@@ -119,7 +119,11 @@
|
|
|
3d71c6 |
<attributes CRM_meta_timeout="20000" />
|
|
|
3d71c6 |
</pseudo_event>
|
|
|
3d71c6 |
</action_set>
|
|
|
3d71c6 |
- <inputs/>
|
|
|
3d71c6 |
+ <inputs>
|
|
|
3d71c6 |
+ <trigger>
|
|
|
3d71c6 |
+ <rsc_op id="40" operation="stop" operation_key="VM2_stop_0" on_node="lama3" on_node_uuid="2"/>
|
|
|
3d71c6 |
+ </trigger>
|
|
|
3d71c6 |
+ </inputs>
|
|
|
3d71c6 |
</synapse>
|
|
|
3d71c6 |
<synapse id="9">
|
|
|
3d71c6 |
<action_set>
|
|
|
3d71c6 |
@@ -331,7 +335,11 @@
|
|
|
3d71c6 |
<attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
|
|
|
3d71c6 |
</pseudo_event>
|
|
|
3d71c6 |
</action_set>
|
|
|
3d71c6 |
- <inputs/>
|
|
|
3d71c6 |
+ <inputs>
|
|
|
3d71c6 |
+ <trigger>
|
|
|
3d71c6 |
+ <rsc_op id="40" operation="stop" operation_key="VM2_stop_0" on_node="lama3" on_node_uuid="2"/>
|
|
|
3d71c6 |
+ </trigger>
|
|
|
3d71c6 |
+ </inputs>
|
|
|
3d71c6 |
</synapse>
|
|
|
3d71c6 |
<synapse id="22" priority="1000000">
|
|
|
3d71c6 |
<action_set>
|
|
|
3d71c6 |
diff --git a/pengine/test10/bug-rh-1097457.summary b/pengine/test10/bug-rh-1097457.summary
|
|
|
3d71c6 |
index e2f235d..c8751ae 100644
|
|
|
3d71c6 |
--- a/pengine/test10/bug-rh-1097457.summary
|
|
|
3d71c6 |
+++ b/pengine/test10/bug-rh-1097457.summary
|
|
|
3d71c6 |
@@ -39,17 +39,17 @@ Transition Summary:
|
|
|
3d71c6 |
* Restart lamaVM2 (Started lama3)
|
|
|
3d71c6 |
|
|
|
3d71c6 |
Executing cluster transition:
|
|
|
3d71c6 |
- * Pseudo action: lamaVM2-G4_stop_0
|
|
|
3d71c6 |
- * Pseudo action: FAKE6-clone_stop_0
|
|
|
3d71c6 |
* Resource action: lamaVM2 stop on lama3
|
|
|
3d71c6 |
* Resource action: VM2 stop on lama3
|
|
|
3d71c6 |
+ * Pseudo action: lamaVM2-G4_stop_0
|
|
|
3d71c6 |
* Pseudo action: FAKE4-IP_stop_0
|
|
|
3d71c6 |
- * Pseudo action: FAKE6_stop_0
|
|
|
3d71c6 |
- * Pseudo action: FAKE6-clone_stopped_0
|
|
|
3d71c6 |
- * Pseudo action: FAKE6-clone_start_0
|
|
|
3d71c6 |
+ * Pseudo action: FAKE6-clone_stop_0
|
|
|
3d71c6 |
* Resource action: VM2 start on lama3
|
|
|
3d71c6 |
* Resource action: VM2 monitor=10000 on lama3
|
|
|
3d71c6 |
* Pseudo action: FAKE4_stop_0
|
|
|
3d71c6 |
+ * Pseudo action: FAKE6_stop_0
|
|
|
3d71c6 |
+ * Pseudo action: FAKE6-clone_stopped_0
|
|
|
3d71c6 |
+ * Pseudo action: FAKE6-clone_start_0
|
|
|
3d71c6 |
* Resource action: lamaVM2 start on lama3
|
|
|
3d71c6 |
* Resource action: lamaVM2 monitor=30000 on lama3
|
|
|
3d71c6 |
* Resource action: FSlun3 monitor=10000 on lamaVM2
|
|
|
3d71c6 |
diff --git a/pengine/test10/whitebox-fail1.dot b/pengine/test10/whitebox-fail1.dot
|
|
|
3d71c6 |
index b595015..0f0fe26 100644
|
|
|
3d71c6 |
--- a/pengine/test10/whitebox-fail1.dot
|
|
|
3d71c6 |
+++ b/pengine/test10/whitebox-fail1.dot
|
|
|
3d71c6 |
@@ -26,6 +26,7 @@ digraph "g" {
|
|
|
3d71c6 |
"container1_start_0 18node2" -> "lxc1_start_0 18node2" [ style = bold]
|
|
|
3d71c6 |
"container1_start_0 18node2" [ style=bold color="green" fontcolor="black"]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "B_stop_0 lxc1" [ style = bold]
|
|
|
3d71c6 |
+"container1_stop_0 18node2" -> "M-clone_stop_0" [ style = bold]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "M_stop_0 lxc1" [ style = bold]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "all_stopped" [ style = bold]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "container1_start_0 18node2" [ style = bold]
|
|
|
3d71c6 |
diff --git a/pengine/test10/whitebox-fail1.exp b/pengine/test10/whitebox-fail1.exp
|
|
|
3d71c6 |
index 834b231..01bb142 100644
|
|
|
3d71c6 |
--- a/pengine/test10/whitebox-fail1.exp
|
|
|
3d71c6 |
+++ b/pengine/test10/whitebox-fail1.exp
|
|
|
3d71c6 |
@@ -96,7 +96,11 @@
|
|
|
3d71c6 |
<attributes CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
|
|
|
3d71c6 |
</pseudo_event>
|
|
|
3d71c6 |
</action_set>
|
|
|
3d71c6 |
- <inputs/>
|
|
|
3d71c6 |
+ <inputs>
|
|
|
3d71c6 |
+ <trigger>
|
|
|
3d71c6 |
+ <rsc_op id="5" operation="stop" operation_key="container1_stop_0" on_node="18node2" on_node_uuid="2"/>
|
|
|
3d71c6 |
+ </trigger>
|
|
|
3d71c6 |
+ </inputs>
|
|
|
3d71c6 |
</synapse>
|
|
|
3d71c6 |
<synapse id="7" priority="1000000">
|
|
|
3d71c6 |
<action_set>
|
|
|
3d71c6 |
diff --git a/pengine/test10/whitebox-fail1.summary b/pengine/test10/whitebox-fail1.summary
|
|
|
3d71c6 |
index 5e5887b..1586407 100644
|
|
|
3d71c6 |
--- a/pengine/test10/whitebox-fail1.summary
|
|
|
3d71c6 |
+++ b/pengine/test10/whitebox-fail1.summary
|
|
|
3d71c6 |
@@ -20,17 +20,17 @@ Transition Summary:
|
|
|
3d71c6 |
* Restart lxc1 (Started 18node2)
|
|
|
3d71c6 |
|
|
|
3d71c6 |
Executing cluster transition:
|
|
|
3d71c6 |
- * Pseudo action: M-clone_stop_0
|
|
|
3d71c6 |
* Resource action: lxc1 stop on 18node2
|
|
|
3d71c6 |
* Resource action: container1 stop on 18node2
|
|
|
3d71c6 |
+ * Pseudo action: M-clone_stop_0
|
|
|
3d71c6 |
+ * Pseudo action: B_stop_0
|
|
|
3d71c6 |
+ * Resource action: container1 start on 18node2
|
|
|
3d71c6 |
* Pseudo action: M_stop_0
|
|
|
3d71c6 |
* Pseudo action: M-clone_stopped_0
|
|
|
3d71c6 |
* Pseudo action: M-clone_start_0
|
|
|
3d71c6 |
- * Pseudo action: B_stop_0
|
|
|
3d71c6 |
- * Pseudo action: all_stopped
|
|
|
3d71c6 |
- * Resource action: container1 start on 18node2
|
|
|
3d71c6 |
* Resource action: lxc1 start on 18node2
|
|
|
3d71c6 |
* Resource action: lxc1 monitor=30000 on 18node2
|
|
|
3d71c6 |
+ * Pseudo action: all_stopped
|
|
|
3d71c6 |
* Resource action: M start on lxc1
|
|
|
3d71c6 |
* Pseudo action: M-clone_running_0
|
|
|
3d71c6 |
* Resource action: B start on lxc1
|
|
|
3d71c6 |
diff --git a/pengine/test10/whitebox-fail2.dot b/pengine/test10/whitebox-fail2.dot
|
|
|
3d71c6 |
index b595015..0f0fe26 100644
|
|
|
3d71c6 |
--- a/pengine/test10/whitebox-fail2.dot
|
|
|
3d71c6 |
+++ b/pengine/test10/whitebox-fail2.dot
|
|
|
3d71c6 |
@@ -26,6 +26,7 @@ digraph "g" {
|
|
|
3d71c6 |
"container1_start_0 18node2" -> "lxc1_start_0 18node2" [ style = bold]
|
|
|
3d71c6 |
"container1_start_0 18node2" [ style=bold color="green" fontcolor="black"]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "B_stop_0 lxc1" [ style = bold]
|
|
|
3d71c6 |
+"container1_stop_0 18node2" -> "M-clone_stop_0" [ style = bold]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "M_stop_0 lxc1" [ style = bold]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "all_stopped" [ style = bold]
|
|
|
3d71c6 |
"container1_stop_0 18node2" -> "container1_start_0 18node2" [ style = bold]
|
|
|
3d71c6 |
diff --git a/pengine/test10/whitebox-fail2.exp b/pengine/test10/whitebox-fail2.exp
|
|
|
3d71c6 |
index 834b231..01bb142 100644
|
|
|
3d71c6 |
--- a/pengine/test10/whitebox-fail2.exp
|
|
|
3d71c6 |
+++ b/pengine/test10/whitebox-fail2.exp
|
|
|
3d71c6 |
@@ -96,7 +96,11 @@
|
|
|
3d71c6 |
<attributes CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
|
|
|
3d71c6 |
</pseudo_event>
|
|
|
3d71c6 |
</action_set>
|
|
|
3d71c6 |
- <inputs/>
|
|
|
3d71c6 |
+ <inputs>
|
|
|
3d71c6 |
+ <trigger>
|
|
|
3d71c6 |
+ <rsc_op id="5" operation="stop" operation_key="container1_stop_0" on_node="18node2" on_node_uuid="2"/>
|
|
|
3d71c6 |
+ </trigger>
|
|
|
3d71c6 |
+ </inputs>
|
|
|
3d71c6 |
</synapse>
|
|
|
3d71c6 |
<synapse id="7" priority="1000000">
|
|
|
3d71c6 |
<action_set>
|
|
|
3d71c6 |
diff --git a/pengine/test10/whitebox-fail2.summary b/pengine/test10/whitebox-fail2.summary
|
|
|
3d71c6 |
index 338173d..ab40d99 100644
|
|
|
3d71c6 |
--- a/pengine/test10/whitebox-fail2.summary
|
|
|
3d71c6 |
+++ b/pengine/test10/whitebox-fail2.summary
|
|
|
3d71c6 |
@@ -20,17 +20,17 @@ Transition Summary:
|
|
|
3d71c6 |
* Recover lxc1 (Started 18node2)
|
|
|
3d71c6 |
|
|
|
3d71c6 |
Executing cluster transition:
|
|
|
3d71c6 |
- * Pseudo action: M-clone_stop_0
|
|
|
3d71c6 |
* Resource action: lxc1 stop on 18node2
|
|
|
3d71c6 |
* Resource action: container1 stop on 18node2
|
|
|
3d71c6 |
+ * Pseudo action: M-clone_stop_0
|
|
|
3d71c6 |
+ * Pseudo action: B_stop_0
|
|
|
3d71c6 |
+ * Resource action: container1 start on 18node2
|
|
|
3d71c6 |
* Pseudo action: M_stop_0
|
|
|
3d71c6 |
* Pseudo action: M-clone_stopped_0
|
|
|
3d71c6 |
* Pseudo action: M-clone_start_0
|
|
|
3d71c6 |
- * Pseudo action: B_stop_0
|
|
|
3d71c6 |
- * Pseudo action: all_stopped
|
|
|
3d71c6 |
- * Resource action: container1 start on 18node2
|
|
|
3d71c6 |
* Resource action: lxc1 start on 18node2
|
|
|
3d71c6 |
* Resource action: lxc1 monitor=30000 on 18node2
|
|
|
3d71c6 |
+ * Pseudo action: all_stopped
|
|
|
3d71c6 |
* Resource action: M start on lxc1
|
|
|
3d71c6 |
* Pseudo action: M-clone_running_0
|
|
|
3d71c6 |
* Resource action: B start on lxc1
|