From 786f44f9ab2731c8fc7d534689d5925cd6d3d98e Mon Sep 17 00:00:00 2001
From: Andrew Beekhof <andrew@beekhof.net>
Date: Tue, 18 Jul 2017 14:31:45 +1000
Subject: [PATCH] Fix: PE: Ensure nested container connections run on the same
host
---
pengine/container.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/pengine/container.c b/pengine/container.c
index f742660..280a61a 100644
--- a/pengine/container.c
+++ b/pengine/container.c
@@ -100,11 +100,22 @@ container_color(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set)
for (GListPtr gIter = container_data->tuples; gIter != NULL; gIter = gIter->next) {
container_grouping_t *tuple = (container_grouping_t *)gIter->data;
+ pe_node_t *docker_host = tuple->docker->allocated_to;
CRM_ASSERT(tuple);
if(tuple->ip) {
tuple->ip->cmds->allocate(tuple->ip, prefer, data_set);
}
+
+ if(tuple->remote && is_remote_node(docker_host)) {
+ /* We need 'nested' connection resources to be on the same
+ * host because pacemaker-remoted only supports a single
+ * active connection
+ */
+ rsc_colocation_new("child-remote-with-docker-remote", NULL,
+ INFINITY, tuple->remote, docker_host->details->remote_rsc, NULL, NULL, data_set);
+ }
+
if(tuple->remote) {
tuple->remote->cmds->allocate(tuple->remote, prefer, data_set);
}
--
1.8.3.1