Blame SOURCES/097-bundle-child-flags.patch

26ee02
From 4ee68a2cd2c9c8b0adf63f8fd267c1590820abe6 Mon Sep 17 00:00:00 2001
26ee02
From: Andrew Beekhof <andrew@beekhof.net>
26ee02
Date: Tue, 10 Oct 2017 22:55:16 +1100
26ee02
Subject: [PATCH 1/2] Fix: PE: Only pass requests for promote/demote flags onto
26ee02
 the bundle's child
26ee02
26ee02
Otherwise the whole bundle gets stopped if the child is unrunnable.
26ee02
---
26ee02
 pengine/container.c | 26 +++++++++++++++++++-------
26ee02
 1 file changed, 19 insertions(+), 7 deletions(-)
26ee02
26ee02
diff --git a/pengine/container.c b/pengine/container.c
26ee02
index a205c53..df5a238 100644
26ee02
--- a/pengine/container.c
26ee02
+++ b/pengine/container.c
26ee02
@@ -495,18 +495,30 @@ container_rsc_colocation_rh(resource_t * rsc_lh, resource_t * rsc, rsc_colocatio
26ee02
 enum pe_action_flags
26ee02
 container_action_flags(action_t * action, node_t * node)
26ee02
 {
26ee02
+    GListPtr containers = NULL;
26ee02
     enum pe_action_flags flags = 0;
26ee02
     container_variant_data_t *data = NULL;
26ee02
 
26ee02
     get_container_variant_data(data, action->rsc);
26ee02
     if(data->child) {
26ee02
-        flags = summary_action_flags(action, data->child->children, node);
26ee02
-
26ee02
-    } else {
26ee02
-        GListPtr containers = get_container_list(action->rsc);
26ee02
-        flags = summary_action_flags(action, containers, node);
26ee02
-        g_list_free(containers);
26ee02
-    }
26ee02
+        enum action_tasks task = get_complex_task(data->child, action->task, TRUE);
26ee02
+        switch(task) {
26ee02
+            case no_action:
26ee02
+            case action_notify:
26ee02
+            case action_notified:
26ee02
+            case action_promote:
26ee02
+            case action_promoted:
26ee02
+            case action_demote:
26ee02
+            case action_demoted:
26ee02
+                return summary_action_flags(action, data->child->children, node);
26ee02
+            default:
26ee02
+                break;
26ee02
+        }
26ee02
+    }
26ee02
+
26ee02
+    containers = get_container_list(action->rsc);
26ee02
+    flags = summary_action_flags(action, containers, node);
26ee02
+    g_list_free(containers);
26ee02
     return flags;
26ee02
 }
26ee02
 
26ee02
-- 
26ee02
1.8.3.1
26ee02
26ee02
26ee02
From c0180b4e8b6490798ea0388a1dab95836aac5b29 Mon Sep 17 00:00:00 2001
26ee02
From: Andrew Beekhof <andrew@beekhof.net>
26ee02
Date: Tue, 10 Oct 2017 23:01:55 +1100
26ee02
Subject: [PATCH 2/2] Test: PE: Only pass requests for promote/demote flags
26ee02
 onto the bundle's child
26ee02
26ee02
---
26ee02
 pengine/test10/bundle-nested-colocation.dot        |  8 ++++
26ee02
 pengine/test10/bundle-nested-colocation.exp        | 48 +++++++++++++++++++---
26ee02
 pengine/test10/bundle-nested-colocation.summary    | 10 +++--
26ee02
 pengine/test10/bundle-order-partial-start-2.dot    |  5 +++
26ee02
 pengine/test10/bundle-order-partial-start-2.exp    | 34 +++++++++++++--
26ee02
 .../test10/bundle-order-partial-start-2.summary    |  2 +
26ee02
 pengine/test10/bundle-order-partial-stop.dot       | 15 -------
26ee02
 pengine/test10/bundle-order-stop.dot               | 15 -------
26ee02
 8 files changed, 94 insertions(+), 43 deletions(-)
26ee02
26ee02
diff --git a/pengine/test10/bundle-nested-colocation.dot b/pengine/test10/bundle-nested-colocation.dot
26ee02
index baa80e2..21c9700 100644
26ee02
--- a/pengine/test10/bundle-nested-colocation.dot
26ee02
+++ b/pengine/test10/bundle-nested-colocation.dot
26ee02
@@ -84,6 +84,7 @@ digraph "g" {
26ee02
 "rabbitmq-bundle-docker-0_start_0 overcloud-rabbit-0" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle-docker-0_stop_0 overcloud-rabbit-0" -> "all_stopped" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-0_stop_0 overcloud-rabbit-0" -> "rabbitmq-bundle-docker-0_start_0 overcloud-rabbit-0" [ style = bold]
26ee02
+"rabbitmq-bundle-docker-0_stop_0 overcloud-rabbit-0" -> "rabbitmq-bundle_stopped_0" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-0_stop_0 overcloud-rabbit-0" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle-docker-1_monitor_60000 overcloud-rabbit-1" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle-docker-1_start_0 overcloud-rabbit-1" -> "rabbitmq-bundle-1_start_0 overcloud-controller-1" [ style = bold]
26ee02
@@ -93,6 +94,7 @@ digraph "g" {
26ee02
 "rabbitmq-bundle-docker-1_start_0 overcloud-rabbit-1" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle-docker-1_stop_0 overcloud-rabbit-1" -> "all_stopped" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-1_stop_0 overcloud-rabbit-1" -> "rabbitmq-bundle-docker-1_start_0 overcloud-rabbit-1" [ style = bold]
26ee02
+"rabbitmq-bundle-docker-1_stop_0 overcloud-rabbit-1" -> "rabbitmq-bundle_stopped_0" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-1_stop_0 overcloud-rabbit-1" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle-docker-2_monitor_60000 overcloud-rabbit-2" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle-docker-2_start_0 overcloud-rabbit-2" -> "rabbitmq-bundle-2_start_0 overcloud-controller-2" [ style = bold]
26ee02
@@ -102,6 +104,7 @@ digraph "g" {
26ee02
 "rabbitmq-bundle-docker-2_start_0 overcloud-rabbit-2" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle-docker-2_stop_0 overcloud-rabbit-2" -> "all_stopped" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-2_stop_0 overcloud-rabbit-2" -> "rabbitmq-bundle-docker-2_start_0 overcloud-rabbit-2" [ style = bold]
26ee02
+"rabbitmq-bundle-docker-2_stop_0 overcloud-rabbit-2" -> "rabbitmq-bundle_stopped_0" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-2_stop_0 overcloud-rabbit-2" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq-bundle_running_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "rabbitmq-bundle_start_0" -> "rabbitmq-bundle-clone_start_0" [ style = bold]
26ee02
@@ -109,6 +112,11 @@ digraph "g" {
26ee02
 "rabbitmq-bundle_start_0" -> "rabbitmq-bundle-docker-1_start_0 overcloud-rabbit-1" [ style = bold]
26ee02
 "rabbitmq-bundle_start_0" -> "rabbitmq-bundle-docker-2_start_0 overcloud-rabbit-2" [ style = bold]
26ee02
 "rabbitmq-bundle_start_0" [ style=bold color="green" fontcolor="orange"]
26ee02
+"rabbitmq-bundle_stop_0" -> "rabbitmq-bundle-docker-0_stop_0 overcloud-rabbit-0" [ style = bold]
26ee02
+"rabbitmq-bundle_stop_0" -> "rabbitmq-bundle-docker-1_stop_0 overcloud-rabbit-1" [ style = bold]
26ee02
+"rabbitmq-bundle_stop_0" -> "rabbitmq-bundle-docker-2_stop_0 overcloud-rabbit-2" [ style = bold]
26ee02
+"rabbitmq-bundle_stop_0" [ style=bold color="green" fontcolor="orange"]
26ee02
+"rabbitmq-bundle_stopped_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "rabbitmq:0_monitor_0 rabbitmq-bundle-0" -> "rabbitmq-bundle-clone_start_0" [ style = bold]
26ee02
 "rabbitmq:0_monitor_0 rabbitmq-bundle-0" [ style=bold color="green" fontcolor="black"]
26ee02
 "rabbitmq:0_monitor_10000 rabbitmq-bundle-0" [ style=bold color="green" fontcolor="black"]
26ee02
diff --git a/pengine/test10/bundle-nested-colocation.exp b/pengine/test10/bundle-nested-colocation.exp
26ee02
index 266d4c0..1f2396e 100644
26ee02
--- a/pengine/test10/bundle-nested-colocation.exp
26ee02
+++ b/pengine/test10/bundle-nested-colocation.exp
26ee02
@@ -305,7 +305,11 @@
26ee02
         <attributes CRM_meta_on_node="overcloud-rabbit-0" CRM_meta_on_node_uuid="overcloud-rabbit-0" CRM_meta_timeout="20000" allow_pull="true"  force_kill="false" image="192.168.24.1:8787/tripleoupstream/centos-binary-rabbitmq:latest" monitor_cmd="/bin/true" mount_points="/var/log/pacemaker/bundles/rabbitmq-bundle-0" reuse="false" run_cmd="/bin/bash /usr/local/bin/kolla_start" run_opts=" --restart=no --net=host -e PCMK_remote_port=3121 -v /var/lib/kolla/config_files/rabbitmq.json:/var/lib/kolla/config_files/config.json:ro -v /var/lib/config-data/puppet-generated/rabbitmq/:/var/lib/kolla/config_files/src:ro -v /etc/hosts:/etc/hosts:ro -v /etc/localtime:/etc/localtime:ro -v /var/lib/rabbitmq:/var/lib/rabbitmq:rw -v /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted:ro -v /etc/pki/tls/certs/ca-bundle.crt:/etc/pki/tls/certs/ca-bundle.crt:ro -v /etc/pki/tls/certs/ca-bundle.trust.crt:/etc/pki/tls/certs/ca-bundle.trust.crt:ro -v /etc/pki/tls/cert.pem:/etc/pki/tls/cert.pem:ro -v /dev/log:/dev/log:rw -v /etc/pacemaker/authkey:/etc/pacemaker/authkey -v /var/log/pacemaker/bundles/rabbitmq-bundle-0:/var/log -p 3121:3121 --user=root --log-driver=journald -e KOLLA_CONFIG_STRATEGY=COPY_ALWAYS "/>
26ee02
       </rsc_op>
26ee02
     </action_set>
26ee02
-    <inputs/>
26ee02
+    <inputs>
26ee02
+      <trigger>
26ee02
+        <pseudo_event id="52" operation="stop" operation_key="rabbitmq-bundle_stop_0"/>
26ee02
+      </trigger>
26ee02
+    </inputs>
26ee02
   </synapse>
26ee02
   <synapse id="19">
26ee02
     <action_set>
26ee02
@@ -441,7 +445,11 @@
26ee02
         <attributes CRM_meta_on_node="overcloud-rabbit-1" CRM_meta_on_node_uuid="overcloud-rabbit-1" CRM_meta_timeout="20000" allow_pull="true"  force_kill="false" image="192.168.24.1:8787/tripleoupstream/centos-binary-rabbitmq:latest" monitor_cmd="/bin/true" mount_points="/var/log/pacemaker/bundles/rabbitmq-bundle-1" reuse="false" run_cmd="/bin/bash /usr/local/bin/kolla_start" run_opts=" --restart=no --net=host -e PCMK_remote_port=3121 -v /var/lib/kolla/config_files/rabbitmq.json:/var/lib/kolla/config_files/config.json:ro -v /var/lib/config-data/puppet-generated/rabbitmq/:/var/lib/kolla/config_files/src:ro -v /etc/hosts:/etc/hosts:ro -v /etc/localtime:/etc/localtime:ro -v /var/lib/rabbitmq:/var/lib/rabbitmq:rw -v /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted:ro -v /etc/pki/tls/certs/ca-bundle.crt:/etc/pki/tls/certs/ca-bundle.crt:ro -v /etc/pki/tls/certs/ca-bundle.trust.crt:/etc/pki/tls/certs/ca-bundle.trust.crt:ro -v /etc/pki/tls/cert.pem:/etc/pki/tls/cert.pem:ro -v /dev/log:/dev/log:rw -v /etc/pacemaker/authkey:/etc/pacemaker/authkey -v /var/log/pacemaker/bundles/rabbitmq-bundle-1:/var/log -p 3121:3121 --user=root --log-driver=journald -e KOLLA_CONFIG_STRATEGY=COPY_ALWAYS "/>
26ee02
       </rsc_op>
26ee02
     </action_set>
26ee02
-    <inputs/>
26ee02
+    <inputs>
26ee02
+      <trigger>
26ee02
+        <pseudo_event id="52" operation="stop" operation_key="rabbitmq-bundle_stop_0"/>
26ee02
+      </trigger>
26ee02
+    </inputs>
26ee02
   </synapse>
26ee02
   <synapse id="30">
26ee02
     <action_set>
26ee02
@@ -577,7 +585,11 @@
26ee02
         <attributes CRM_meta_on_node="overcloud-rabbit-2" CRM_meta_on_node_uuid="overcloud-rabbit-2" CRM_meta_timeout="20000" allow_pull="true"  force_kill="false" image="192.168.24.1:8787/tripleoupstream/centos-binary-rabbitmq:latest" monitor_cmd="/bin/true" mount_points="/var/log/pacemaker/bundles/rabbitmq-bundle-2" reuse="false" run_cmd="/bin/bash /usr/local/bin/kolla_start" run_opts=" --restart=no --net=host -e PCMK_remote_port=3121 -v /var/lib/kolla/config_files/rabbitmq.json:/var/lib/kolla/config_files/config.json:ro -v /var/lib/config-data/puppet-generated/rabbitmq/:/var/lib/kolla/config_files/src:ro -v /etc/hosts:/etc/hosts:ro -v /etc/localtime:/etc/localtime:ro -v /var/lib/rabbitmq:/var/lib/rabbitmq:rw -v /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted:ro -v /etc/pki/tls/certs/ca-bundle.crt:/etc/pki/tls/certs/ca-bundle.crt:ro -v /etc/pki/tls/certs/ca-bundle.trust.crt:/etc/pki/tls/certs/ca-bundle.trust.crt:ro -v /etc/pki/tls/cert.pem:/etc/pki/tls/cert.pem:ro -v /dev/log:/dev/log:rw -v /etc/pacemaker/authkey:/etc/pacemaker/authkey -v /var/log/pacemaker/bundles/rabbitmq-bundle-2:/var/log -p 3121:3121 --user=root --log-driver=journald -e KOLLA_CONFIG_STRATEGY=COPY_ALWAYS "/>
26ee02
       </rsc_op>
26ee02
     </action_set>
26ee02
-    <inputs/>
26ee02
+    <inputs>
26ee02
+      <trigger>
26ee02
+        <pseudo_event id="52" operation="stop" operation_key="rabbitmq-bundle_stop_0"/>
26ee02
+      </trigger>
26ee02
+    </inputs>
26ee02
   </synapse>
26ee02
   <synapse id="41">
26ee02
     <action_set>
26ee02
@@ -708,6 +720,32 @@
26ee02
   </synapse>
26ee02
   <synapse id="51" priority="1000000">
26ee02
     <action_set>
26ee02
+      <pseudo_event id="53" operation="stopped" operation_key="rabbitmq-bundle_stopped_0">
26ee02
+        <attributes CRM_meta_timeout="20000" />
26ee02
+      </pseudo_event>
26ee02
+    </action_set>
26ee02
+    <inputs>
26ee02
+      <trigger>
26ee02
+        <rsc_op id="41" operation="stop" operation_key="rabbitmq-bundle-docker-0_stop_0" on_node="overcloud-rabbit-0" on_node_uuid="overcloud-rabbit-0" router_node="overcloud-controller-0"/>
26ee02
+      </trigger>
26ee02
+      <trigger>
26ee02
+        <rsc_op id="44" operation="stop" operation_key="rabbitmq-bundle-docker-1_stop_0" on_node="overcloud-rabbit-1" on_node_uuid="overcloud-rabbit-1" router_node="overcloud-controller-1"/>
26ee02
+      </trigger>
26ee02
+      <trigger>
26ee02
+        <rsc_op id="47" operation="stop" operation_key="rabbitmq-bundle-docker-2_stop_0" on_node="overcloud-rabbit-2" on_node_uuid="overcloud-rabbit-2" router_node="overcloud-controller-2"/>
26ee02
+      </trigger>
26ee02
+    </inputs>
26ee02
+  </synapse>
26ee02
+  <synapse id="52">
26ee02
+    <action_set>
26ee02
+      <pseudo_event id="52" operation="stop" operation_key="rabbitmq-bundle_stop_0">
26ee02
+        <attributes CRM_meta_timeout="20000" />
26ee02
+      </pseudo_event>
26ee02
+    </action_set>
26ee02
+    <inputs/>
26ee02
+  </synapse>
26ee02
+  <synapse id="53" priority="1000000">
26ee02
+    <action_set>
26ee02
       <pseudo_event id="51" operation="running" operation_key="rabbitmq-bundle_running_0">
26ee02
         <attributes CRM_meta_timeout="20000" />
26ee02
       </pseudo_event>
26ee02
@@ -727,7 +765,7 @@
26ee02
       </trigger>
26ee02
     </inputs>
26ee02
   </synapse>
26ee02
-  <synapse id="52">
26ee02
+  <synapse id="54">
26ee02
     <action_set>
26ee02
       <pseudo_event id="50" operation="start" operation_key="rabbitmq-bundle_start_0">
26ee02
         <attributes CRM_meta_timeout="20000" />
26ee02
@@ -735,7 +773,7 @@
26ee02
     </action_set>
26ee02
     <inputs/>
26ee02
   </synapse>
26ee02
-  <synapse id="53">
26ee02
+  <synapse id="55">
26ee02
     <action_set>
26ee02
       <pseudo_event id="10" operation="all_stopped" operation_key="all_stopped">
26ee02
         <attributes />
26ee02
diff --git a/pengine/test10/bundle-nested-colocation.summary b/pengine/test10/bundle-nested-colocation.summary
26ee02
index 2cc1c7c..1986763 100644
26ee02
--- a/pengine/test10/bundle-nested-colocation.summary
26ee02
+++ b/pengine/test10/bundle-nested-colocation.summary
26ee02
@@ -29,39 +29,41 @@ Transition Summary:
26ee02
 
26ee02
 Executing cluster transition:
26ee02
  * Pseudo action:   rabbitmq-bundle-clone_pre_notify_start_0
26ee02
- * Resource action: rabbitmq-bundle-docker-0 stop on overcloud-rabbit-0
26ee02
  * Resource action: rabbitmq-bundle-0 monitor on overcloud-galera-2
26ee02
  * Resource action: rabbitmq-bundle-0 monitor on overcloud-galera-1
26ee02
  * Resource action: rabbitmq-bundle-0 monitor on overcloud-galera-0
26ee02
  * Resource action: rabbitmq-bundle-0 monitor on overcloud-controller-2
26ee02
  * Resource action: rabbitmq-bundle-0 monitor on overcloud-controller-1
26ee02
  * Resource action: rabbitmq-bundle-0 monitor on overcloud-controller-0
26ee02
- * Resource action: rabbitmq-bundle-docker-1 stop on overcloud-rabbit-1
26ee02
  * Resource action: rabbitmq-bundle-1 monitor on overcloud-galera-2
26ee02
  * Resource action: rabbitmq-bundle-1 monitor on overcloud-galera-1
26ee02
  * Resource action: rabbitmq-bundle-1 monitor on overcloud-galera-0
26ee02
  * Resource action: rabbitmq-bundle-1 monitor on overcloud-controller-2
26ee02
  * Resource action: rabbitmq-bundle-1 monitor on overcloud-controller-1
26ee02
  * Resource action: rabbitmq-bundle-1 monitor on overcloud-controller-0
26ee02
- * Resource action: rabbitmq-bundle-docker-2 stop on overcloud-rabbit-2
26ee02
  * Resource action: rabbitmq-bundle-2 monitor on overcloud-galera-2
26ee02
  * Resource action: rabbitmq-bundle-2 monitor on overcloud-galera-1
26ee02
  * Resource action: rabbitmq-bundle-2 monitor on overcloud-galera-0
26ee02
  * Resource action: rabbitmq-bundle-2 monitor on overcloud-controller-2
26ee02
  * Resource action: rabbitmq-bundle-2 monitor on overcloud-controller-1
26ee02
  * Resource action: rabbitmq-bundle-2 monitor on overcloud-controller-0
26ee02
+ * Pseudo action:   rabbitmq-bundle_stop_0
26ee02
  * Pseudo action:   rabbitmq-bundle_start_0
26ee02
- * Pseudo action:   all_stopped
26ee02
  * Pseudo action:   rabbitmq-bundle-clone_confirmed-pre_notify_start_0
26ee02
+ * Resource action: rabbitmq-bundle-docker-0 stop on overcloud-rabbit-0
26ee02
  * Resource action: rabbitmq-bundle-docker-0 start on overcloud-rabbit-0
26ee02
  * Resource action: rabbitmq-bundle-docker-0 monitor=60000 on overcloud-rabbit-0
26ee02
  * Resource action: rabbitmq-bundle-0 start on overcloud-controller-0
26ee02
+ * Resource action: rabbitmq-bundle-docker-1 stop on overcloud-rabbit-1
26ee02
  * Resource action: rabbitmq-bundle-docker-1 start on overcloud-rabbit-1
26ee02
  * Resource action: rabbitmq-bundle-docker-1 monitor=60000 on overcloud-rabbit-1
26ee02
  * Resource action: rabbitmq-bundle-1 start on overcloud-controller-1
26ee02
+ * Resource action: rabbitmq-bundle-docker-2 stop on overcloud-rabbit-2
26ee02
  * Resource action: rabbitmq-bundle-docker-2 start on overcloud-rabbit-2
26ee02
  * Resource action: rabbitmq-bundle-docker-2 monitor=60000 on overcloud-rabbit-2
26ee02
  * Resource action: rabbitmq-bundle-2 start on overcloud-controller-2
26ee02
+ * Pseudo action:   rabbitmq-bundle_stopped_0
26ee02
+ * Pseudo action:   all_stopped
26ee02
  * Resource action: rabbitmq:0      monitor on rabbitmq-bundle-0
26ee02
  * Resource action: rabbitmq:1      monitor on rabbitmq-bundle-1
26ee02
  * Resource action: rabbitmq:2      monitor on rabbitmq-bundle-2
26ee02
diff --git a/pengine/test10/bundle-order-partial-start-2.dot b/pengine/test10/bundle-order-partial-start-2.dot
26ee02
index d6608bb..08c768d 100644
26ee02
--- a/pengine/test10/bundle-order-partial-start-2.dot
26ee02
+++ b/pengine/test10/bundle-order-partial-start-2.dot
26ee02
@@ -19,6 +19,7 @@ digraph "g" {
26ee02
 "galera-bundle-docker-0_start_0 undercloud" [ style=bold color="green" fontcolor="black"]
26ee02
 "galera-bundle-docker-0_stop_0 undercloud" -> "all_stopped" [ style = bold]
26ee02
 "galera-bundle-docker-0_stop_0 undercloud" -> "galera-bundle-docker-0_start_0 undercloud" [ style = bold]
26ee02
+"galera-bundle-docker-0_stop_0 undercloud" -> "galera-bundle_stopped_0" [ style = bold]
26ee02
 "galera-bundle-docker-0_stop_0 undercloud" [ style=bold color="green" fontcolor="black"]
26ee02
 "galera-bundle-master_running_0" -> "galera-bundle_running_0" [ style = bold]
26ee02
 "galera-bundle-master_running_0" [ style=bold color="green" fontcolor="orange"]
26ee02
@@ -29,6 +30,10 @@ digraph "g" {
26ee02
 "galera-bundle_start_0" -> "galera-bundle-docker-0_start_0 undercloud" [ style = bold]
26ee02
 "galera-bundle_start_0" -> "galera-bundle-master_start_0" [ style = bold]
26ee02
 "galera-bundle_start_0" [ style=bold color="green" fontcolor="orange"]
26ee02
+"galera-bundle_stop_0" -> "galera-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
+"galera-bundle_stop_0" [ style=bold color="green" fontcolor="orange"]
26ee02
+"galera-bundle_stopped_0" -> "galera-bundle_start_0" [ style = bold]
26ee02
+"galera-bundle_stopped_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "galera:0_monitor_0 galera-bundle-0" -> "galera-bundle-master_start_0" [ style = bold]
26ee02
 "galera:0_monitor_0 galera-bundle-0" [ style=bold color="green" fontcolor="black"]
26ee02
 "galera:0_monitor_20000 galera-bundle-0" [ style=bold color="green" fontcolor="black"]
26ee02
diff --git a/pengine/test10/bundle-order-partial-start-2.exp b/pengine/test10/bundle-order-partial-start-2.exp
26ee02
index d17819c..1be25f6 100644
26ee02
--- a/pengine/test10/bundle-order-partial-start-2.exp
26ee02
+++ b/pengine/test10/bundle-order-partial-start-2.exp
26ee02
@@ -254,6 +254,9 @@
26ee02
       <trigger>
26ee02
         <rsc_op id="42" operation="stop" operation_key="galera-bundle-0_stop_0" on_node="undercloud" on_node_uuid="1"/>
26ee02
       </trigger>
26ee02
+      <trigger>
26ee02
+        <pseudo_event id="46" operation="stop" operation_key="galera-bundle_stop_0"/>
26ee02
+      </trigger>
26ee02
     </inputs>
26ee02
   </synapse>
26ee02
   <synapse id="18">
26ee02
@@ -525,6 +528,26 @@
26ee02
   </synapse>
26ee02
   <synapse id="39" priority="1000000">
26ee02
     <action_set>
26ee02
+      <pseudo_event id="47" operation="stopped" operation_key="galera-bundle_stopped_0">
26ee02
+        <attributes CRM_meta_timeout="20000" />
26ee02
+      </pseudo_event>
26ee02
+    </action_set>
26ee02
+    <inputs>
26ee02
+      <trigger>
26ee02
+        <rsc_op id="40" operation="stop" operation_key="galera-bundle-docker-0_stop_0" on_node="undercloud" on_node_uuid="1"/>
26ee02
+      </trigger>
26ee02
+    </inputs>
26ee02
+  </synapse>
26ee02
+  <synapse id="40">
26ee02
+    <action_set>
26ee02
+      <pseudo_event id="46" operation="stop" operation_key="galera-bundle_stop_0">
26ee02
+        <attributes CRM_meta_timeout="20000" />
26ee02
+      </pseudo_event>
26ee02
+    </action_set>
26ee02
+    <inputs/>
26ee02
+  </synapse>
26ee02
+  <synapse id="41" priority="1000000">
26ee02
+    <action_set>
26ee02
       <pseudo_event id="45" operation="running" operation_key="galera-bundle_running_0">
26ee02
         <attributes CRM_meta_timeout="20000" />
26ee02
       </pseudo_event>
26ee02
@@ -538,7 +561,7 @@
26ee02
       </trigger>
26ee02
     </inputs>
26ee02
   </synapse>
26ee02
-  <synapse id="40">
26ee02
+  <synapse id="42">
26ee02
     <action_set>
26ee02
       <pseudo_event id="44" operation="start" operation_key="galera-bundle_start_0">
26ee02
         <attributes CRM_meta_timeout="20000" />
26ee02
@@ -549,6 +572,9 @@
26ee02
         <pseudo_event id="23" operation="running" operation_key="rabbitmq-bundle_running_0"/>
26ee02
       </trigger>
26ee02
       <trigger>
26ee02
+        <pseudo_event id="47" operation="stopped" operation_key="galera-bundle_stopped_0"/>
26ee02
+      </trigger>
26ee02
+      <trigger>
26ee02
         <pseudo_event id="100" operation="promoted" operation_key="redis-bundle_promoted_0"/>
26ee02
       </trigger>
26ee02
       <trigger>
26ee02
@@ -556,7 +582,7 @@
26ee02
       </trigger>
26ee02
     </inputs>
26ee02
   </synapse>
26ee02
-  <synapse id="41" priority="1000000">
26ee02
+  <synapse id="43" priority="1000000">
26ee02
     <action_set>
26ee02
       <pseudo_event id="23" operation="running" operation_key="rabbitmq-bundle_running_0">
26ee02
         <attributes CRM_meta_timeout="20000" />
26ee02
@@ -568,7 +594,7 @@
26ee02
       </trigger>
26ee02
     </inputs>
26ee02
   </synapse>
26ee02
-  <synapse id="42">
26ee02
+  <synapse id="44">
26ee02
     <action_set>
26ee02
       <pseudo_event id="22" operation="start" operation_key="rabbitmq-bundle_start_0">
26ee02
         <attributes CRM_meta_timeout="20000" />
26ee02
@@ -576,7 +602,7 @@
26ee02
     </action_set>
26ee02
     <inputs/>
26ee02
   </synapse>
26ee02
-  <synapse id="43">
26ee02
+  <synapse id="45">
26ee02
     <action_set>
26ee02
       <pseudo_event id="14" operation="all_stopped" operation_key="all_stopped">
26ee02
         <attributes />
26ee02
diff --git a/pengine/test10/bundle-order-partial-start-2.summary b/pengine/test10/bundle-order-partial-start-2.summary
26ee02
index f9748d2..2e88bee 100644
26ee02
--- a/pengine/test10/bundle-order-partial-start-2.summary
26ee02
+++ b/pengine/test10/bundle-order-partial-start-2.summary
26ee02
@@ -36,6 +36,7 @@ Executing cluster transition:
26ee02
  * Resource action: haproxy-bundle-docker-0 monitor on undercloud
26ee02
  * Pseudo action:   haproxy-bundle_start_0
26ee02
  * Pseudo action:   redis-bundle_promote_0
26ee02
+ * Pseudo action:   galera-bundle_stop_0
26ee02
  * Pseudo action:   rabbitmq-bundle_start_0
26ee02
  * Pseudo action:   rabbitmq-bundle-clone_confirmed-pre_notify_start_0
26ee02
  * Pseudo action:   rabbitmq-bundle-clone_start_0
26ee02
@@ -45,6 +46,7 @@ Executing cluster transition:
26ee02
  * Pseudo action:   redis-bundle-master_promote_0
26ee02
  * Resource action: haproxy-bundle-docker-0 start on undercloud
26ee02
  * Pseudo action:   haproxy-bundle_running_0
26ee02
+ * Pseudo action:   galera-bundle_stopped_0
26ee02
  * Pseudo action:   all_stopped
26ee02
  * Resource action: rabbitmq:0      start on rabbitmq-bundle-0
26ee02
  * Pseudo action:   rabbitmq-bundle-clone_running_0
26ee02
diff --git a/pengine/test10/bundle-order-partial-stop.dot b/pengine/test10/bundle-order-partial-stop.dot
26ee02
index 3fade95..5d0c039 100644
26ee02
--- a/pengine/test10/bundle-order-partial-stop.dot
26ee02
+++ b/pengine/test10/bundle-order-partial-stop.dot
26ee02
@@ -20,7 +20,6 @@ digraph "g" {
26ee02
 "galera-bundle-master_demoted_0" -> "galera-bundle-master_stop_0" [ style = bold]
26ee02
 "galera-bundle-master_demoted_0" -> "galera-bundle_demoted_0" [ style = bold]
26ee02
 "galera-bundle-master_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle-master_running_0" -> "galera-bundle_running_0" [ style = dashed]
26ee02
 "galera-bundle-master_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "galera-bundle-master_start_0" -> "galera-bundle-master_running_0" [ style = dashed]
26ee02
 "galera-bundle-master_start_0" -> "galera_start_0 galera-bundle-0" [ style = dashed]
26ee02
@@ -34,17 +33,12 @@ digraph "g" {
26ee02
 "galera-bundle_demote_0" -> "galera-bundle-master_demote_0" [ style = bold]
26ee02
 "galera-bundle_demote_0" -> "galera-bundle_demoted_0" [ style = bold]
26ee02
 "galera-bundle_demote_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle_demoted_0" -> "galera-bundle_start_0" [ style = dashed]
26ee02
 "galera-bundle_demoted_0" -> "galera-bundle_stop_0" [ style = bold]
26ee02
 "galera-bundle_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
-"galera-bundle_start_0" -> "galera-bundle-master_start_0" [ style = dashed]
26ee02
-"galera-bundle_start_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "galera-bundle_stop_0" -> "galera-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "galera-bundle_stop_0" -> "galera-bundle-master_stop_0" [ style = bold]
26ee02
 "galera-bundle_stop_0" -> "galera_stop_0 galera-bundle-0" [ style = bold]
26ee02
 "galera-bundle_stop_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle_stopped_0" -> "galera-bundle_start_0" [ style = dashed]
26ee02
 "galera-bundle_stopped_0" -> "redis-bundle_stop_0" [ style = bold]
26ee02
 "galera-bundle_stopped_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "galera_demote_0 galera-bundle-0" -> "galera-bundle-0_stop_0 undercloud" [ style = bold]
26ee02
@@ -118,7 +112,6 @@ digraph "g" {
26ee02
 "rabbitmq-bundle-0_stop_0 undercloud" -> "do_shutdown undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle-0_stop_0 undercloud" -> "rabbitmq-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle-0_stop_0 undercloud" [ style=bold color="green" fontcolor="black"]
26ee02
-"rabbitmq-bundle-clone_confirmed-post_notify_running_0" -> "rabbitmq-bundle_running_0" [ style = dashed]
26ee02
 "rabbitmq-bundle-clone_confirmed-post_notify_running_0" -> "rabbitmq_monitor_10000 rabbitmq-bundle-0" [ style = dashed]
26ee02
 "rabbitmq-bundle-clone_confirmed-post_notify_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "rabbitmq-bundle-clone_confirmed-post_notify_stopped_0" -> "all_stopped" [ style = bold]
26ee02
@@ -155,7 +148,6 @@ digraph "g" {
26ee02
 "rabbitmq-bundle-docker-0_stop_0 undercloud" -> "do_shutdown undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-0_stop_0 undercloud" -> "rabbitmq-bundle_stopped_0" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-0_stop_0 undercloud" [ style=bold color="green" fontcolor="black"]
26ee02
-"rabbitmq-bundle_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "rabbitmq-bundle_stop_0" -> "rabbitmq-bundle-clone_stop_0" [ style = bold]
26ee02
 "rabbitmq-bundle_stop_0" -> "rabbitmq-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle_stop_0" -> "rabbitmq_stop_0 rabbitmq-bundle-0" [ style = bold]
26ee02
@@ -186,7 +178,6 @@ digraph "g" {
26ee02
 "redis-bundle-master_confirmed-post_notify_demoted_0" -> "redis_monitor_45000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_demoted_0" -> "redis_monitor_60000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"redis-bundle-master_confirmed-post_notify_running_0" -> "redis-bundle_running_0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_running_0" -> "redis_monitor_45000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_running_0" -> "redis_monitor_60000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
@@ -239,19 +230,13 @@ digraph "g" {
26ee02
 "redis-bundle_demote_0" -> "redis-bundle-master_demote_0" [ style = bold]
26ee02
 "redis-bundle_demote_0" -> "redis-bundle_demoted_0" [ style = bold]
26ee02
 "redis-bundle_demote_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"redis-bundle_demoted_0" -> "redis-bundle_start_0" [ style = dashed]
26ee02
 "redis-bundle_demoted_0" -> "redis-bundle_stop_0" [ style = bold]
26ee02
 "redis-bundle_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"redis-bundle_running_0" -> "galera-bundle_start_0" [ style = dashed]
26ee02
-"redis-bundle_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
-"redis-bundle_start_0" -> "redis-bundle-master_start_0" [ style = dashed]
26ee02
-"redis-bundle_start_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "redis-bundle_stop_0" -> "redis-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "redis-bundle_stop_0" -> "redis-bundle-master_stop_0" [ style = bold]
26ee02
 "redis-bundle_stop_0" -> "redis_stop_0 redis-bundle-0" [ style = bold]
26ee02
 "redis-bundle_stop_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "redis-bundle_stopped_0" -> "haproxy-bundle_stop_0" [ style = bold]
26ee02
-"redis-bundle_stopped_0" -> "redis-bundle_start_0" [ style = dashed]
26ee02
 "redis-bundle_stopped_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "redis_demote_0 redis-bundle-0" -> "redis-bundle-0_stop_0 undercloud" [ style = bold]
26ee02
 "redis_demote_0 redis-bundle-0" -> "redis-bundle-master_demoted_0" [ style = bold]
26ee02
diff --git a/pengine/test10/bundle-order-stop.dot b/pengine/test10/bundle-order-stop.dot
26ee02
index 3fade95..5d0c039 100644
26ee02
--- a/pengine/test10/bundle-order-stop.dot
26ee02
+++ b/pengine/test10/bundle-order-stop.dot
26ee02
@@ -20,7 +20,6 @@ digraph "g" {
26ee02
 "galera-bundle-master_demoted_0" -> "galera-bundle-master_stop_0" [ style = bold]
26ee02
 "galera-bundle-master_demoted_0" -> "galera-bundle_demoted_0" [ style = bold]
26ee02
 "galera-bundle-master_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle-master_running_0" -> "galera-bundle_running_0" [ style = dashed]
26ee02
 "galera-bundle-master_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "galera-bundle-master_start_0" -> "galera-bundle-master_running_0" [ style = dashed]
26ee02
 "galera-bundle-master_start_0" -> "galera_start_0 galera-bundle-0" [ style = dashed]
26ee02
@@ -34,17 +33,12 @@ digraph "g" {
26ee02
 "galera-bundle_demote_0" -> "galera-bundle-master_demote_0" [ style = bold]
26ee02
 "galera-bundle_demote_0" -> "galera-bundle_demoted_0" [ style = bold]
26ee02
 "galera-bundle_demote_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle_demoted_0" -> "galera-bundle_start_0" [ style = dashed]
26ee02
 "galera-bundle_demoted_0" -> "galera-bundle_stop_0" [ style = bold]
26ee02
 "galera-bundle_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
-"galera-bundle_start_0" -> "galera-bundle-master_start_0" [ style = dashed]
26ee02
-"galera-bundle_start_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "galera-bundle_stop_0" -> "galera-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "galera-bundle_stop_0" -> "galera-bundle-master_stop_0" [ style = bold]
26ee02
 "galera-bundle_stop_0" -> "galera_stop_0 galera-bundle-0" [ style = bold]
26ee02
 "galera-bundle_stop_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"galera-bundle_stopped_0" -> "galera-bundle_start_0" [ style = dashed]
26ee02
 "galera-bundle_stopped_0" -> "redis-bundle_stop_0" [ style = bold]
26ee02
 "galera-bundle_stopped_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "galera_demote_0 galera-bundle-0" -> "galera-bundle-0_stop_0 undercloud" [ style = bold]
26ee02
@@ -118,7 +112,6 @@ digraph "g" {
26ee02
 "rabbitmq-bundle-0_stop_0 undercloud" -> "do_shutdown undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle-0_stop_0 undercloud" -> "rabbitmq-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle-0_stop_0 undercloud" [ style=bold color="green" fontcolor="black"]
26ee02
-"rabbitmq-bundle-clone_confirmed-post_notify_running_0" -> "rabbitmq-bundle_running_0" [ style = dashed]
26ee02
 "rabbitmq-bundle-clone_confirmed-post_notify_running_0" -> "rabbitmq_monitor_10000 rabbitmq-bundle-0" [ style = dashed]
26ee02
 "rabbitmq-bundle-clone_confirmed-post_notify_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "rabbitmq-bundle-clone_confirmed-post_notify_stopped_0" -> "all_stopped" [ style = bold]
26ee02
@@ -155,7 +148,6 @@ digraph "g" {
26ee02
 "rabbitmq-bundle-docker-0_stop_0 undercloud" -> "do_shutdown undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-0_stop_0 undercloud" -> "rabbitmq-bundle_stopped_0" [ style = bold]
26ee02
 "rabbitmq-bundle-docker-0_stop_0 undercloud" [ style=bold color="green" fontcolor="black"]
26ee02
-"rabbitmq-bundle_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "rabbitmq-bundle_stop_0" -> "rabbitmq-bundle-clone_stop_0" [ style = bold]
26ee02
 "rabbitmq-bundle_stop_0" -> "rabbitmq-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "rabbitmq-bundle_stop_0" -> "rabbitmq_stop_0 rabbitmq-bundle-0" [ style = bold]
26ee02
@@ -186,7 +178,6 @@ digraph "g" {
26ee02
 "redis-bundle-master_confirmed-post_notify_demoted_0" -> "redis_monitor_45000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_demoted_0" -> "redis_monitor_60000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"redis-bundle-master_confirmed-post_notify_running_0" -> "redis-bundle_running_0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_running_0" -> "redis_monitor_45000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_running_0" -> "redis_monitor_60000 redis-bundle-0" [ style = dashed]
26ee02
 "redis-bundle-master_confirmed-post_notify_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
@@ -239,19 +230,13 @@ digraph "g" {
26ee02
 "redis-bundle_demote_0" -> "redis-bundle-master_demote_0" [ style = bold]
26ee02
 "redis-bundle_demote_0" -> "redis-bundle_demoted_0" [ style = bold]
26ee02
 "redis-bundle_demote_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"redis-bundle_demoted_0" -> "redis-bundle_start_0" [ style = dashed]
26ee02
 "redis-bundle_demoted_0" -> "redis-bundle_stop_0" [ style = bold]
26ee02
 "redis-bundle_demoted_0" [ style=bold color="green" fontcolor="orange"]
26ee02
-"redis-bundle_running_0" -> "galera-bundle_start_0" [ style = dashed]
26ee02
-"redis-bundle_running_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
-"redis-bundle_start_0" -> "redis-bundle-master_start_0" [ style = dashed]
26ee02
-"redis-bundle_start_0" [ style=dashed color="red" fontcolor="orange"]
26ee02
 "redis-bundle_stop_0" -> "redis-bundle-docker-0_stop_0 undercloud" [ style = bold]
26ee02
 "redis-bundle_stop_0" -> "redis-bundle-master_stop_0" [ style = bold]
26ee02
 "redis-bundle_stop_0" -> "redis_stop_0 redis-bundle-0" [ style = bold]
26ee02
 "redis-bundle_stop_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "redis-bundle_stopped_0" -> "haproxy-bundle_stop_0" [ style = bold]
26ee02
-"redis-bundle_stopped_0" -> "redis-bundle_start_0" [ style = dashed]
26ee02
 "redis-bundle_stopped_0" [ style=bold color="green" fontcolor="orange"]
26ee02
 "redis_demote_0 redis-bundle-0" -> "redis-bundle-0_stop_0 undercloud" [ style = bold]
26ee02
 "redis_demote_0 redis-bundle-0" -> "redis-bundle-master_demoted_0" [ style = bold]
26ee02
-- 
26ee02
1.8.3.1
26ee02