diff options
Diffstat (limited to 'overcloud.j2.yaml')
-rw-r--r-- | overcloud.j2.yaml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml index dfb1b9d6..1848e09a 100644 --- a/overcloud.j2.yaml +++ b/overcloud.j2.yaml @@ -737,6 +737,18 @@ resources: {% endfor %} stack_name: {get_param: 'OS::stack_name'} EndpointMap: {get_attr: [EndpointMap, endpoint_map]} + ctlplane_service_ips: + # Note (shardy) this somewhat complex yaql may be replaced + # with a map_deep_merge function in ocata. It merges the + # list of maps, but appends to colliding lists when a service + # is deployed on more than one role + yaql: + expression: dict($.data.l.where($ != null).selectMany($.items()).groupBy($[0], $[1], [$[0], $[1].flatten()])) + data: + l: +{% for role in roles %} + - {get_attr: [{{role.name}}IpListMap, ctlplane_service_ips]} +{% endfor %} role_data: {% for role in roles %} {{role.name}}: {get_attr: [{{role.name}}ServiceChainRoleData, value]} |