From 8d796ea0e4afd69f9776d07f491b1a0d83e34128 Mon Sep 17 00:00:00 2001 From: Michele Baldessari Date: Mon, 19 Dec 2016 14:27:51 +0100 Subject: Add a per service bootstrap node variable In order to call commands that need to be run on a single node, we create a new per-service variable that will contain the first node of each role containing the service. Change-Id: I03e8685f939e8ae1fcd8b16883b559615042505d Partial-Bug: #1615983 --- overcloud.j2.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'overcloud.j2.yaml') diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml index f7e6f37f..f53a99af 100644 --- a/overcloud.j2.yaml +++ b/overcloud.j2.yaml @@ -443,6 +443,14 @@ resources: l: {% for role in roles %} - {get_attr: [{{role.name}}IpListMap, short_service_hostnames]} +{% endfor %} + short_service_bootstrap_node: + yaql: + expression: dict($.data.l.where($ != null).selectMany($.items()).groupBy($[0], $[1], [$[0], $[1].flatten().first()])) + data: + l: +{% for role in roles %} + - {get_attr: [{{role.name}}IpListMap, short_service_bootstrap_hostnames]} {% endfor %} # FIXME(shardy): These require further work to move into service_ips memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, MemcachedNetwork]}]} -- cgit 1.2.3-korg