Merge "Wire ServiceNetMap as a top level parameter"
[apex-tripleo-heat-templates.git] / puppet / all-nodes-config.yaml
1 heat_template_version: 2015-04-30
2 description: 'All Nodes Config for Puppet'
3
4 parameters:
5   compute_hosts:
6     type: comma_delimited_list
7   controller_hosts:
8     type: comma_delimited_list
9   controller_ips:
10     type: comma_delimited_list
11   block_storage_hosts:
12     type: comma_delimited_list
13   object_storage_hosts:
14     type: comma_delimited_list
15   ceph_storage_hosts:
16     type: comma_delimited_list
17   controller_names:
18     type: comma_delimited_list
19
20 resources:
21
22   allNodesConfigImpl:
23     type: OS::Heat::StructuredConfig
24     properties:
25       config:
26         completion-signal: {get_input: deploy_signal_id}
27         hosts:
28           list_join:
29           - "\n"
30           - - list_join:
31               - "\n"
32               - {get_param: compute_hosts}
33             - list_join:
34               - "\n"
35               - {get_param: controller_hosts}
36             - list_join:
37               - "\n"
38               - {get_param: block_storage_hosts}
39             - list_join:
40               - "\n"
41               - {get_param: object_storage_hosts}
42             - list_join:
43               - "\n"
44               - {get_param: ceph_storage_hosts}
45         hiera:
46           datafiles:
47             all_nodes:
48               mapped_data:
49                 controller_node_ips:
50                   list_join:
51                   - ','
52                   - {get_param: controller_ips}
53                 controller_node_names:
54                   list_join:
55                   - ','
56                   - {get_param: controller_names}
57                 galera_node_names:
58                   list_join:
59                   - ','
60                   - {get_param: controller_names}
61                 rabbit_node_ips: &rabbit_nodes_array
62                   str_replace:
63                     template: "['SERVERS_LIST']"
64                     params:
65                       SERVERS_LIST:
66                         list_join:
67                         - "','"
68                         - {get_param: controller_ips}
69                 mongo_node_ips:
70                   list_join:
71                   - ','
72                   - {get_param: controller_ips}
73                 redis_node_ips:
74                   list_join:
75                   - ','
76                   - {get_param: controller_ips}
77                 memcache_node_ips:
78                   list_join:
79                   - ','
80                   - {get_param: controller_ips}
81                 # NOTE(gfidente): interpolation with %{} in the
82                 # hieradata file can't be used as it returns string
83                 ceilometer::rabbit_hosts: *rabbit_nodes_array
84                 cinder::rabbit_hosts: *rabbit_nodes_array
85                 heat::rabbit_hosts: *rabbit_nodes_array
86                 neutron::rabbit_hosts: *rabbit_nodes_array
87                 nova::rabbit_hosts: *rabbit_nodes_array
88
89 outputs:
90   config_id:
91     description: The ID of the allNodesConfigImpl resource.
92     value:
93       {get_resource: allNodesConfigImpl}