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: 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} 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 keystone::rabbit_hosts: *rabbit_nodes_array outputs: config_id: description: The ID of the allNodesConfigImpl resource. value: {get_resource: allNodesConfigImpl}