Merge "Remove NO_SIGNAL from ControllerBootstrapNodeDeployment"
[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   rabbit_node_ips:
20     type: comma_delimited_list
21   mongo_node_ips:
22     type: comma_delimited_list
23   redis_node_ips:
24     type: comma_delimited_list
25   memcache_node_ips:
26     type: comma_delimited_list
27   mysql_node_ips:
28     type: comma_delimited_list
29   horizon_node_ips:
30     type: comma_delimited_list
31   heat_api_node_ips:
32     type: comma_delimited_list
33   swift_proxy_node_ips:
34     type: comma_delimited_list
35   ceilometer_api_node_ips:
36     type: comma_delimited_list
37   nova_api_node_ips:
38     type: comma_delimited_list
39   nova_metadata_node_ips:
40     type: comma_delimited_list
41   glance_api_node_ips:
42     type: comma_delimited_list
43   glance_registry_node_ips:
44     type: comma_delimited_list
45   cinder_api_node_ips:
46     type: comma_delimited_list
47   neutron_api_node_ips:
48     type: comma_delimited_list
49   keystone_public_api_node_ips:
50     type: comma_delimited_list
51   keystone_admin_api_node_ips:
52     type: comma_delimited_list
53
54 resources:
55
56   allNodesConfigImpl:
57     type: OS::Heat::StructuredConfig
58     properties:
59       config:
60         completion-signal: {get_input: deploy_signal_id}
61         hosts:
62           list_join:
63           - "\n"
64           - - list_join:
65               - "\n"
66               - {get_param: compute_hosts}
67             - list_join:
68               - "\n"
69               - {get_param: controller_hosts}
70             - list_join:
71               - "\n"
72               - {get_param: block_storage_hosts}
73             - list_join:
74               - "\n"
75               - {get_param: object_storage_hosts}
76             - list_join:
77               - "\n"
78               - {get_param: ceph_storage_hosts}
79         hiera:
80           datafiles:
81             all_nodes:
82               mapped_data:
83                 controller_node_ips:
84                   list_join:
85                   - ','
86                   - {get_param: controller_ips}
87                 controller_node_names:
88                   list_join:
89                   - ','
90                   - {get_param: controller_names}
91                 galera_node_names:
92                   list_join:
93                   - ','
94                   - {get_param: controller_names}
95                 rabbit_node_ips: &rabbit_nodes_array
96                   str_replace:
97                     template: "['SERVERS_LIST']"
98                     params:
99                       SERVERS_LIST:
100                         list_join:
101                         - "','"
102                         - {get_param: rabbit_node_ips}
103                 mongo_node_ips:
104                   str_replace:
105                     template: "['SERVERS_LIST']"
106                     params:
107                       SERVERS_LIST:
108                         list_join:
109                         - "','"
110                         - {get_param: mongo_node_ips}
111                 redis_node_ips:
112                   str_replace:
113                     template: "['SERVERS_LIST']"
114                     params:
115                       SERVERS_LIST:
116                         list_join:
117                         - "','"
118                         - {get_param: redis_node_ips}
119                 memcache_node_ips:
120                   str_replace:
121                     template: "['SERVERS_LIST']"
122                     params:
123                       SERVERS_LIST:
124                         list_join:
125                         - "','"
126                         - {get_param: memcache_node_ips}
127                 mysql_node_ips:
128                   str_replace:
129                     template: "['SERVERS_LIST']"
130                     params:
131                       SERVERS_LIST:
132                         list_join:
133                         - "','"
134                         - {get_param: mysql_node_ips}
135                 horizon_node_ips:
136                   str_replace:
137                     template: "['SERVERS_LIST']"
138                     params:
139                       SERVERS_LIST:
140                         list_join:
141                         - "','"
142                         - {get_param: horizon_node_ips}
143                 heat_api_node_ips:
144                   str_replace:
145                     template: "['SERVERS_LIST']"
146                     params:
147                       SERVERS_LIST:
148                         list_join:
149                         - "','"
150                         - {get_param: heat_api_node_ips}
151                 swift_proxy_node_ips:
152                   str_replace:
153                     template: "['SERVERS_LIST']"
154                     params:
155                       SERVERS_LIST:
156                         list_join:
157                         - "','"
158                         - {get_param: swift_proxy_node_ips}
159                 ceilometer_api_node_ips:
160                   str_replace:
161                     template: "['SERVERS_LIST']"
162                     params:
163                       SERVERS_LIST:
164                         list_join:
165                         - "','"
166                         - {get_param: ceilometer_api_node_ips}
167                 nova_api_node_ips:
168                   str_replace:
169                     template: "['SERVERS_LIST']"
170                     params:
171                       SERVERS_LIST:
172                         list_join:
173                         - "','"
174                         - {get_param: nova_api_node_ips}
175                 nova_metadata_node_ips:
176                   str_replace:
177                     template: "['SERVERS_LIST']"
178                     params:
179                       SERVERS_LIST:
180                         list_join:
181                         - "','"
182                         - {get_param: nova_metadata_node_ips}
183                 glance_api_node_ips:
184                   str_replace:
185                     template: "['SERVERS_LIST']"
186                     params:
187                       SERVERS_LIST:
188                         list_join:
189                         - "','"
190                         - {get_param: glance_api_node_ips}
191                 glance_registry_node_ips:
192                   str_replace:
193                     template: "['SERVERS_LIST']"
194                     params:
195                       SERVERS_LIST:
196                         list_join:
197                         - "','"
198                         - {get_param: glance_registry_node_ips}
199                 cinder_api_node_ips:
200                   str_replace:
201                     template: "['SERVERS_LIST']"
202                     params:
203                       SERVERS_LIST:
204                         list_join:
205                         - "','"
206                         - {get_param: cinder_api_node_ips}
207                 neutron_api_node_ips:
208                   str_replace:
209                     template: "['SERVERS_LIST']"
210                     params:
211                       SERVERS_LIST:
212                         list_join:
213                         - "','"
214                         - {get_param: neutron_api_node_ips}
215                 keystone_public_api_node_ips:
216                   str_replace:
217                     template: "['SERVERS_LIST']"
218                     params:
219                       SERVERS_LIST:
220                         list_join:
221                         - "','"
222                         - {get_param: keystone_public_api_node_ips}
223                 keystone_admin_api_node_ips:
224                   str_replace:
225                     template: "['SERVERS_LIST']"
226                     params:
227                       SERVERS_LIST:
228                         list_join:
229                         - "','"
230                         - {get_param: keystone_admin_api_node_ips}
231
232                 # NOTE(gfidente): interpolation with %{} in the
233                 # hieradata file can't be used as it returns string
234                 ceilometer::rabbit_hosts: *rabbit_nodes_array
235                 cinder::rabbit_hosts: *rabbit_nodes_array
236                 heat::rabbit_hosts: *rabbit_nodes_array
237                 neutron::rabbit_hosts: *rabbit_nodes_array
238                 nova::rabbit_hosts: *rabbit_nodes_array
239
240 outputs:
241   config_id:
242     description: The ID of the allNodesConfigImpl resource.
243     value:
244       {get_resource: allNodesConfigImpl}