aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-08-12 17:44:24 +0100
committerEmilien Macchi <emilien@redhat.com>2016-09-02 13:00:49 +0000
commitbf3bc0d551f180f931e6cb3234307a540affd0de (patch)
tree0f94354f9379435255819da241f046006a22b105
parentdada8f55bff69fd1d37c34555a2ba58f3c854962 (diff)
Generate composable service node_names lists
Some puppet interfaces require a comma separated list of hostnames where a service is running, so generate it in a similar way to th service ips. Change-Id: Icdf5d993d089dc94035194bdbd52299fcbc793be Partially-Implements: blueprint custom-roles
-rw-r--r--network/ports/net_ip_list_map.yaml13
-rw-r--r--overcloud.yaml3
-rw-r--r--puppet/all-nodes-config.yaml13
3 files changed, 18 insertions, 11 deletions
diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.yaml
index 36f3358e..430158ac 100644
--- a/network/ports/net_ip_list_map.yaml
+++ b/network/ports/net_ip_list_map.yaml
@@ -28,6 +28,9 @@ parameters:
ServiceNetMap:
default: {}
type: json
+ ServiceHostnameList:
+ default: []
+ type: comma_delimited_list
outputs:
net_ip_map:
@@ -71,3 +74,13 @@ outputs:
storage_mgmt: {get_param: StorageMgmtIpList}
tenant: {get_param: TenantIpList}
management: {get_param: ManagementIpList}
+ service_hostnames:
+ description: >
+ Map of enabled services to a list of hostnames where they're running
+ value:
+ map_merge:
+ repeat:
+ template:
+ SERVICE_node_names: {get_param: ServiceHostnameList}
+ for_each:
+ SERVICE: {get_param: EnabledServices}
diff --git a/overcloud.yaml b/overcloud.yaml
index a85c57c0..7b473829 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -598,6 +598,7 @@ resources:
ManagementIpList: {get_attr: [Controller, management_ip_address]}
EnabledServices: {get_attr: [ControllerServiceChain, role_data, service_names]}
ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map_lower]}
+ ServiceHostnameList: {get_attr: [Controller, hostname]}
allNodesConfig:
type: OS::TripleO::AllNodes::SoftwareConfig
@@ -629,12 +630,12 @@ resources:
controller_ips: {get_attr: [Controller, ip_address]}
controller_names: {get_attr: [Controller, hostname]}
service_ips: {get_attr: [ControllerIpListMap, service_ips]}
+ service_node_names: {get_attr: [ControllerIpListMap, service_hostnames]}
# FIXME(shardy): These require further work to move into service_ips
rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, RabbitmqNetwork]}]}
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]}]}
keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystoneAdminApiNetwork]}]}
- ceph_mon_node_names: {get_attr: [Controller, hostname]}
DeployIdentifier: {get_param: DeployIdentifier}
UpdateIdentifier: {get_param: UpdateIdentifier}
diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml
index a43e9645..17b72d4b 100644
--- a/puppet/all-nodes-config.yaml
+++ b/puppet/all-nodes-config.yaml
@@ -12,6 +12,8 @@ parameters:
type: comma_delimited_list
service_ips:
type: json
+ service_node_names:
+ type: json
controller_names:
type: comma_delimited_list
rabbit_node_ips:
@@ -22,8 +24,6 @@ parameters:
type: comma_delimited_list
keystone_admin_api_node_ips:
type: comma_delimited_list
- ceph_mon_node_names:
- type: comma_delimited_list
DeployIdentifier:
type: string
description: >
@@ -76,6 +76,7 @@ resources:
str_split: [',', {get_param: enabled_services}]
# provides a mapping of service_name_ips to a list of IPs
- {get_param: service_ips}
+ - {get_param: service_node_names}
- controller_node_ips:
list_join:
- ','
@@ -84,10 +85,6 @@ resources:
list_join:
- ','
- {get_param: controller_names}
- galera_node_names:
- list_join:
- - ','
- - {get_param: controller_names}
rabbitmq_node_ips: &rabbit_nodes_array
str_replace:
template: "['SERVERS_LIST']"
@@ -120,10 +117,6 @@ resources:
list_join:
- "','"
- {get_param: keystone_admin_api_node_ips}
- tripleo::profile::base::ceph::ceph_mon_initial_members:
- list_join:
- - ','
- - {get_param: ceph_mon_node_names}
# NOTE(gfidente): interpolation with %{} in the
# hieradata file can't be used as it returns string
ceilometer::rabbit_hosts: *rabbit_nodes_array