17028aa9c2
This patch adds a new NetIpListMap abstraction which we can use to make the all-nodes-config IP list network assignments configurable. Ip address lists for all overcloud services which require IPs were added to all-nodes-config so that puppet manifests can be directly supplied the correct network list for each service. Change-Id: I209f2b4f97a4bb78648c54813dad8615770bcf1a
245 lines
8.2 KiB
YAML
245 lines
8.2 KiB
YAML
heat_template_version: 2015-04-30
|
|
description: 'All Nodes Config for Puppet'
|
|
|
|
parameters:
|
|
compute_hosts:
|
|
type: comma_delimited_list
|
|
controller_hosts:
|
|
type: comma_delimited_list
|
|
controller_ips:
|
|
type: comma_delimited_list
|
|
block_storage_hosts:
|
|
type: comma_delimited_list
|
|
object_storage_hosts:
|
|
type: comma_delimited_list
|
|
ceph_storage_hosts:
|
|
type: comma_delimited_list
|
|
controller_names:
|
|
type: comma_delimited_list
|
|
rabbit_node_ips:
|
|
type: comma_delimited_list
|
|
mongo_node_ips:
|
|
type: comma_delimited_list
|
|
redis_node_ips:
|
|
type: comma_delimited_list
|
|
memcache_node_ips:
|
|
type: comma_delimited_list
|
|
mysql_node_ips:
|
|
type: comma_delimited_list
|
|
horizon_node_ips:
|
|
type: comma_delimited_list
|
|
heat_api_node_ips:
|
|
type: comma_delimited_list
|
|
swift_proxy_node_ips:
|
|
type: comma_delimited_list
|
|
ceilometer_api_node_ips:
|
|
type: comma_delimited_list
|
|
nova_api_node_ips:
|
|
type: comma_delimited_list
|
|
nova_metadata_node_ips:
|
|
type: comma_delimited_list
|
|
glance_api_node_ips:
|
|
type: comma_delimited_list
|
|
glance_registry_node_ips:
|
|
type: comma_delimited_list
|
|
cinder_api_node_ips:
|
|
type: comma_delimited_list
|
|
neutron_api_node_ips:
|
|
type: comma_delimited_list
|
|
keystone_public_api_node_ips:
|
|
type: comma_delimited_list
|
|
keystone_admin_api_node_ips:
|
|
type: comma_delimited_list
|
|
|
|
resources:
|
|
|
|
allNodesConfigImpl:
|
|
type: OS::Heat::StructuredConfig
|
|
properties:
|
|
config:
|
|
completion-signal: {get_input: deploy_signal_id}
|
|
hosts:
|
|
list_join:
|
|
- "\n"
|
|
- - list_join:
|
|
- "\n"
|
|
- {get_param: compute_hosts}
|
|
- list_join:
|
|
- "\n"
|
|
- {get_param: controller_hosts}
|
|
- list_join:
|
|
- "\n"
|
|
- {get_param: block_storage_hosts}
|
|
- list_join:
|
|
- "\n"
|
|
- {get_param: object_storage_hosts}
|
|
- list_join:
|
|
- "\n"
|
|
- {get_param: ceph_storage_hosts}
|
|
hiera:
|
|
datafiles:
|
|
all_nodes:
|
|
mapped_data:
|
|
controller_node_ips:
|
|
list_join:
|
|
- ','
|
|
- {get_param: controller_ips}
|
|
controller_node_names:
|
|
list_join:
|
|
- ','
|
|
- {get_param: controller_names}
|
|
galera_node_names:
|
|
list_join:
|
|
- ','
|
|
- {get_param: controller_names}
|
|
rabbit_node_ips: &rabbit_nodes_array
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: rabbit_node_ips}
|
|
mongo_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: mongo_node_ips}
|
|
redis_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: redis_node_ips}
|
|
memcache_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: memcache_node_ips}
|
|
mysql_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: mysql_node_ips}
|
|
horizon_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: horizon_node_ips}
|
|
heat_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: heat_api_node_ips}
|
|
swift_proxy_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: swift_proxy_node_ips}
|
|
ceilometer_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: ceilometer_api_node_ips}
|
|
nova_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: nova_api_node_ips}
|
|
nova_metadata_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: nova_metadata_node_ips}
|
|
glance_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: glance_api_node_ips}
|
|
glance_registry_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: glance_registry_node_ips}
|
|
cinder_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: cinder_api_node_ips}
|
|
neutron_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: neutron_api_node_ips}
|
|
keystone_public_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: keystone_public_api_node_ips}
|
|
keystone_admin_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: keystone_admin_api_node_ips}
|
|
|
|
# NOTE(gfidente): interpolation with %{} in the
|
|
# hieradata file can't be used as it returns string
|
|
ceilometer::rabbit_hosts: *rabbit_nodes_array
|
|
cinder::rabbit_hosts: *rabbit_nodes_array
|
|
heat::rabbit_hosts: *rabbit_nodes_array
|
|
neutron::rabbit_hosts: *rabbit_nodes_array
|
|
nova::rabbit_hosts: *rabbit_nodes_array
|
|
|
|
outputs:
|
|
config_id:
|
|
description: The ID of the allNodesConfigImpl resource.
|
|
value:
|
|
{get_resource: allNodesConfigImpl}
|