From fa6bafac537779975207dfe12e5781c91173a793 Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Mon, 5 Sep 2016 23:02:44 +0100 Subject: 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 --- overcloud.j2.yaml | 40 ++++++++++++---------------------------- 1 file changed, 12 insertions(+), 28 deletions(-) (limited to 'overcloud.j2.yaml') diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml index a7beeade..5ba6da4c 100644 --- a/overcloud.j2.yaml +++ b/overcloud.j2.yaml @@ -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]}]} -- cgit 1.2.3-korg