|
|
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 |
|