tripleo-heat-templates/puppet/all-nodes-config.yaml

299 lines
10 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
aodh_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
sahara_api_node_ips:
type: comma_delimited_list
DeployIdentifier:
type: string
description: >
Setting this to a unique value will re-run any deployment tasks which
perform configuration on a Heat stack-update.
UpdateIdentifier:
type: string
description: >
Setting to a previously unused value during stack-update will trigger
package update on all nodes
resources:
allNodesConfigImpl:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
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:
RedHat:
raw_data: {get_file: hieradata/RedHat.yaml}
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}
aodh_api_node_ips:
str_replace:
template: "['SERVERS_LIST']"
params:
SERVERS_LIST:
list_join:
- "','"
- {get_param: aodh_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}
# TODO: pass a `midonet_api_node_ips` var
midonet_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}
sahara_api_node_ips:
str_replace:
template: "['SERVERS_LIST']"
params:
SERVERS_LIST:
list_join:
- "','"
- {get_param: sahara_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
aodh::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
keystone::rabbit_hosts: *rabbit_nodes_array
sahara::rabbit_hosts: *rabbit_nodes_array
deploy_identifier: {get_param: DeployIdentifier}
update_identifier: {get_param: UpdateIdentifier}
outputs:
config_id:
description: The ID of the allNodesConfigImpl resource.
value:
{get_resource: allNodesConfigImpl}
hosts_entries:
description: |
The content that should be appended to your /etc/hosts if you want to get
hostname-based access to the deployed nodes (useful for testing without
setting up a DNS).
value: {get_attr: [allNodesConfigImpl, config, hosts]}