Convert allNodesConfig properties to composable jinja2
To support custom roles we need to generate these lists of role specific data. Change-Id: Ide97cd57d1c07f7f7ff260ff7a6bbe2b71753bd0 Partially-Implements: blueprint custom-roles
This commit is contained in:
committed by
Emilien Macchi
parent
e8510077ea
commit
fa6bafac53
@@ -276,29 +276,17 @@ resources:
|
||||
cloud_name_storage_mgmt: {get_param: CloudNameStorageManagement}
|
||||
cloud_name_ctlplane: {get_param: CloudNameCtlplane}
|
||||
hosts:
|
||||
{% for role in roles %}
|
||||
- list_join:
|
||||
- '\n'
|
||||
- {get_attr: [Compute, hosts_entry]}
|
||||
- list_join:
|
||||
- '\n'
|
||||
- {get_attr: [Controller, hosts_entry]}
|
||||
- list_join:
|
||||
- '\n'
|
||||
- {get_attr: [BlockStorage, hosts_entry]}
|
||||
- list_join:
|
||||
- '\n'
|
||||
- {get_attr: [ObjectStorage, hosts_entry]}
|
||||
- list_join:
|
||||
- '\n'
|
||||
- {get_attr: [CephStorage, hosts_entry]}
|
||||
- {get_attr: [{{role.name}}, hosts_entry]}
|
||||
{% endfor %}
|
||||
enabled_services:
|
||||
list_join:
|
||||
- ','
|
||||
- {get_attr: [ControllerServiceChain, role_data, service_names]}
|
||||
- {get_attr: [ComputeServiceChain, role_data, service_names]}
|
||||
- {get_attr: [BlockStorageServiceChain, role_data, service_names]}
|
||||
- {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
|
||||
- {get_attr: [CephStorageServiceChain, role_data, service_names]}
|
||||
{% for role in roles %}
|
||||
- {get_attr: [{{role.name}}ServiceChain, role_data, service_names]}
|
||||
{% endfor %}
|
||||
controller_ips: {get_attr: [Controller, ip_address]}
|
||||
controller_names: {get_attr: [Controller, hostname]}
|
||||
service_ips:
|
||||
@@ -310,21 +298,17 @@ resources:
|
||||
expression: dict($.data.l.where($ != null).selectMany($.items()).groupBy($[0], $[1], [$[0], $[1].flatten()]))
|
||||
data:
|
||||
l:
|
||||
- {get_attr: [ControllerIpListMap, service_ips]}
|
||||
- {get_attr: [ComputeIpListMap, service_ips]}
|
||||
- {get_attr: [BlockStorageIpListMap, service_ips]}
|
||||
- {get_attr: [ObjectStorageIpListMap, service_ips]}
|
||||
- {get_attr: [CephStorageIpListMap, service_ips]}
|
||||
{% for role in roles %}
|
||||
- {get_attr: [{{role.name}}IpListMap, service_ips]}
|
||||
{% endfor %}
|
||||
service_node_names:
|
||||
yaql:
|
||||
expression: dict($.data.l.where($ != null).selectMany($.items()).groupBy($[0], $[1], [$[0], $[1].flatten()]))
|
||||
data:
|
||||
l:
|
||||
- {get_attr: [ControllerIpListMap, service_hostnames]}
|
||||
- {get_attr: [ComputeIpListMap, service_hostnames]}
|
||||
- {get_attr: [BlockStorageIpListMap, service_hostnames]}
|
||||
- {get_attr: [ObjectStorageIpListMap, service_hostnames]}
|
||||
- {get_attr: [CephStorageIpListMap, service_hostnames]}
|
||||
{% for role in roles %}
|
||||
- {get_attr: [{{role.name}}IpListMap, service_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]}]}
|
||||
keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystonePublicApiNetwork]}]}
|
||||
|
||||
Reference in New Issue
Block a user