Blame SOURCES/064-bundle-meta.patch

60de42
From 9ddb7907e2c3f803331700a667c7ec91b4d5db74 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Fri, 26 May 2017 16:06:00 -0500
60de42
Subject: [PATCH 1/2] Fix: libpe_status: set parent for bundle components
60de42
60de42
This allows the bundle components to inherit meta-attributes
60de42
set on the bundle resource.
60de42
---
60de42
 lib/pengine/container.c | 7 +++----
60de42
 1 file changed, 3 insertions(+), 4 deletions(-)
60de42
60de42
diff --git a/lib/pengine/container.c b/lib/pengine/container.c
60de42
index f93a60f..836b482 100644
60de42
--- a/lib/pengine/container.c
60de42
+++ b/lib/pengine/container.c
60de42
@@ -177,7 +177,7 @@ create_ip_resource(
60de42
 
60de42
         // TODO: Other ops? Timeouts and intervals from underlying resource?
60de42
 
60de42
-        if (common_unpack(xml_ip, &tuple->ip, NULL, data_set) == false) {
60de42
+        if (common_unpack(xml_ip, &tuple->ip, parent, data_set) == false) {
60de42
             return FALSE;
60de42
         }
60de42
 
60de42
@@ -328,11 +328,10 @@ create_docker_resource(
60de42
 
60de42
         // TODO: Other ops? Timeouts and intervals from underlying resource?
60de42
 
60de42
-        if (common_unpack(xml_docker, &tuple->docker, NULL, data_set) == FALSE) {
60de42
+        if (common_unpack(xml_docker, &tuple->docker, parent, data_set) == FALSE) {
60de42
             return FALSE;
60de42
         }
60de42
         parent->children = g_list_append(parent->children, tuple->docker);
60de42
-        tuple->docker->parent = parent;
60de42
         return TRUE;
60de42
 }
60de42
 
60de42
@@ -408,7 +407,7 @@ create_remote_resource(
60de42
         nodeid = NULL;
60de42
         id = NULL;
60de42
 
60de42
-        if (common_unpack(xml_remote, &tuple->remote, NULL, data_set) == FALSE) {
60de42
+        if (common_unpack(xml_remote, &tuple->remote, parent, data_set) == FALSE) {
60de42
             return FALSE;
60de42
         }
60de42
 
60de42
-- 
60de42
1.8.3.1
60de42
60de42
60de42
From 7033ac1e65e9e3e70d8f365c71e71069f446c3d9 Mon Sep 17 00:00:00 2001
60de42
From: Ken Gaillot <kgaillot@redhat.com>
60de42
Date: Fri, 26 May 2017 17:22:48 -0500
60de42
Subject: [PATCH 2/2] Low: libpe_status: propagate multiple-active=block for
60de42
 bundles
60de42
60de42
Comparable to groups, if one of a bundle's components is found multiply active
60de42
and the bundle has multiple-active=block, block everything in the bundle.
60de42
---
60de42
 lib/pengine/native.c | 7 ++++---
60de42
 1 file changed, 4 insertions(+), 3 deletions(-)
60de42
60de42
diff --git a/lib/pengine/native.c b/lib/pengine/native.c
60de42
index da9e344..f785b90 100644
60de42
--- a/lib/pengine/native.c
60de42
+++ b/lib/pengine/native.c
60de42
@@ -91,10 +91,11 @@ native_add_running(resource_t * rsc, node_t * node, pe_working_set_t * data_set)
60de42
                 clear_bit(rsc->flags, pe_rsc_managed);
60de42
                 set_bit(rsc->flags, pe_rsc_block);
60de42
 
60de42
-                /* If the group that the resource belongs to is configured with multiple-active=block, */
60de42
-                /* block the whole group. */
60de42
+                /* If the resource belongs to a group or bundle configured with
60de42
+                 * multiple-active=block, block the entire entity.
60de42
+                 */
60de42
                 if (rsc->parent
60de42
-                    && rsc->parent->variant == pe_group
60de42
+                    && (rsc->parent->variant == pe_group || rsc->parent->variant == pe_container)
60de42
                     && rsc->parent->recovery_type == recovery_block) {
60de42
                     GListPtr gIter = rsc->parent->children;
60de42
 
60de42
-- 
60de42
1.8.3.1
60de42