- logging_groups:
- yaql:
- expression: >
- $.data.groups.flatten()
- data:
- groups:
-{% for role in roles %}
- - {get_attr: [{{role.name}}ServiceChainRoleData, value, logging_groups]}
-{% endfor %}
- logging_sources:
- yaql:
- expression: >
- $.data.sources.flatten()
- data:
- sources:
-{% for role in roles %}
- - {get_attr: [{{role.name}}ServiceChainRoleData, value, logging_sources]}
-{% endfor %}
+ cellv2_discovery_hosts:
+ # Collects compute hostnames for all roles with a service that requires cellv2 host discovery
+ list_join:
+ - ','
+ - yaql:
+ expression: coalesce($.data.e.zip($.data.l).where($[0]).select($[1]).flatten(), [])
+ data:
+ e: # list of true/fails for whether cellsv2 host discovery is required for the roles
+{%- for role in roles %}
+ - {get_attr: [{{role.name}}ServiceChainRoleData, value, cellv2_discovery]}
+{%- endfor %}
+ l: # list of list of compute hostnames for the roles
+{%- for role in roles %}
+ - {get_attr: [{{role.name}}, hostname_map, canonical]}
+{%- endfor %}