blob: ccf3407a29c837868a04c35575a1e49bd49184cc [file] [log] [blame]
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +01001heat_template_version: queens
2
3parameters:
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +01004 image:
5 type: string
6 description: Name of image to use for servers
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +01007 public_net_id:
8 type: string
Oleh Hryhorovb58460e2020-02-05 15:53:48 +02009 default: ''
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010010 description: >
Oleh Hryhorovb58460e2020-02-05 15:53:48 +020011 ID of public network for which floating IP addresses will be allocated/
12 for baremetal case flat provision network for nodes
Vasyl Saienkob9e69d02021-03-19 10:09:52 +020013 dns_nameservers:
14 type: json
15 default: []
Vasyl Saienko0fa6f192020-03-06 16:08:51 +020016 control_network_cidr:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +020017 type: string
Vasyl Saienko0fa6f192020-03-06 16:08:51 +020018 description: The CIDR of control network, used to detect control interface.
19 default: '10.10.0.0/24'
Sergey Matov0709c762020-04-02 14:30:50 +040020 control_network_vsrx_peering_ip:
21 type: string
22 description: IP address of vsrx for tungsten fabric peering
23 default: ''
Anton Samoylovea0b23e2020-06-26 14:17:51 +040024 data_network_vsrx_ip:
25 type: string
26 description: IP address of vsrx in tungsten fabric data network
27 default: ''
Stepan Rogov60bc3522020-12-16 17:43:25 +030028 docker_default_address_pool:
29 type: string
30 description: Default address pool for Docker ucp specific local networks
31 default: '10.10.1.0/16'
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010032 masters_size:
33 type: number
34 description: Number of masters instances to deploy
35 default: 2
36 worker_size:
37 type: number
38 description: Number of workers to deploy
39 default: 5
40 cmp_size:
41 type: number
42 description: Number of cmp workers to deploy
43 default: 0
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +020044 acmp_size:
45 type: number
46 description: Number of advanced cmp workers to deploy
47 default: 0
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010048 gtw_size:
49 type: number
50 description: Number of gtw workers to deploy
51 default: 0
sgudzb94b4c62020-02-05 13:21:25 +020052 lma_size:
53 type: number
54 description: Number of gtw workers to deploy
55 default: 0
56 osd_size:
57 type: number
58 description: Number of gtw workers to deploy
59 default: 0
Dennis Dmitriev81da4222020-02-25 17:53:04 +020060 spare_size:
61 type: number
62 description: Number of gtw workers to deploy
63 default: 0
Vasyl Saienko25bb75b2021-02-15 12:22:33 +020064 frr_size:
65 type: number
66 description: Number of frr nodes to deploy
67 default: 0
sgudz43eb82b2020-02-11 16:36:48 +020068 ntw_size:
69 type: number
70 description: Number of contrail nodes to deploy
71 default: 0
Vasyl Saienko36f2edf2020-05-14 10:44:52 +030072 vbmc_size:
73 type: number
74 description: Number of nodes for virtualbmc BM node simulator
75 default: 0
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010076 ucp_boot_timeout:
77 type: number
78 description: Boot timeout for UCP instance
Vasyl Saienkof36f39c2020-03-10 00:21:42 +020079 default: 3600
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010080 cluster_public_key:
81 type: string
Oleh Hryhorov0019f592020-01-23 11:50:12 +020082 private_floating_network_cidr:
83 type: string
84 default: '10.11.12.0/24'
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +020085 private_floating_network_ipam_pool_start:
86 type: string
87 description: pool start which is used as pool for IPAM and assigned to instances port
88 default: '10.11.12.2'
89 private_floating_network_ipam_pool_end:
90 type: string
91 description: pool end which is used as pool for IPAM and assigned to instances port
92 default: '10.11.12.99'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +020093 private_floating_network_pool_start:
94 type: string
95 default: '10.11.12.100'
96 private_floating_network_pool_end:
97 type: string
98 default: '10.11.12.200'
99 private_floating_network_gateway:
100 type: string
Oleh Hryhorovd3a30242020-02-11 15:24:01 +0200101 default: ''
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300102 private_floating_network_interface:
103 type: string
104 default: 'veth-phy'
105 description: 'The name of interface that should be added to external neutron bridge for floating network.'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200106 private_floating_interface:
107 description: Interface which carries floating network for child OpenStack.
108 type: string
Mateusz Lose2ad0772020-02-27 21:41:54 +0100109 storage_frontend_network_cidr:
110 type: string
111 default: '10.12.0.0/24'
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200112 storage_frontend_interface:
113 type: string
114 default: 'ens5'
115 storage_backend_network_cidr:
116 type: string
117 default: '10.11.0.0/24'
118 storage_backend_interface:
119 type: string
120 default: 'ens6'
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300121 ironic_baremetal_network_cidr:
122 type: string
123 default: '10.13.0.0/24'
124 ironic_baremetal_network_ipam_pool_start:
125 type: string
126 default: '10.13.0.2'
127 ironic_baremetal_network_ipam_pool_end:
128 type: string
129 default: '10.13.0.99'
130 ironic_baremetal_network_pool_start:
131 type: string
132 default: '10.13.0.100'
133 ironic_baremetal_network_pool_end:
134 type: string
135 default: '10.13.0.200'
136 ironic_baremetal_network_gateway:
137 type: string
138 default: ''
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400139 ironic_baremetal_tunnel_cidr:
140 type: string
141 default: '10.16.0.0/24'
Vasyl Saienko4c468192020-05-19 11:51:13 +0300142 ironic_baremetal_network_interface:
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300143 type: string
Vasyl Saienko4c468192020-05-19 11:51:13 +0300144 default: 'veth-bm'
Vasyl Saienko1233afd2020-05-21 14:55:21 +0300145 description: 'The name of interface that should be added to ovs bridge in Neutron'
146 ironic_baremetal_network_vbmc_interface:
147 type: string
148 default: 'veth-vbmc'
149 description: 'The name of interface that should be added to ovs bridge with virtualbmc VMs.'
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300150 ironic_baremetal_provisioning_interface:
151 type: string
152 default: 'br-baremetal'
153 description: 'The name of interface on node to which IP ironic services will bind.'
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400154 ironic_baremetal_pxe_interface:
155 type: string
156 default: 'pxe.1000'
157 description: 'Will be used as provisioning_interface for multi-tenancy mode'
158 ironic_mt_enabled:
159 type: boolean
160 default: false
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400161 tungstenfabric_enabled:
162 type: boolean
163 default: false
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200164 tun_network_cidr:
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400165 type: string
166 default: '10.15.0.0/24'
Mykyta Karpin2aba4122020-12-02 15:03:09 +0200167 # When tun interface is added to ovs bridge inside vm,
168 # and arp responder is enabled on undercloud,
169 # ip adresses from tun network pool can't be used for
170 # configuring vxlan tunnels through ovs bridge (https://mirantis.jira.com/browse/PRODX-9337).
171 # Ip addresses unknown for arp responder should be used.
172 # In deployment pipeline addresses assigned by openstack to advanced compute nodes
173 # are changed inside instance to 10.15.0.1XX for this case.
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200174 tun_network_pool_start:
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400175 type: string
176 default: '10.15.0.2'
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200177 tun_network_pool_end:
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400178 type: string
179 default: '10.15.0.99'
Dennis Dmitrievea894212020-03-12 21:36:43 +0200180 ucp_metadata:
181 type: json
182 default: {"role":"ucp"}
183 master_metadata:
184 type: json
185 default: {"role":"master"}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100186 worker_metadata:
187 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200188 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100189 cmp_metadata:
190 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200191 default: {}
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200192 acmp_metadata:
193 type: json
194 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100195 gtw_metadata:
196 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200197 default: {}
198 lma_metadata:
199 type: json
200 default: {}
201 osd_metadata:
202 type: json
203 default: {}
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200204 spare_metadata:
205 type: json
206 default: {}
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200207 frr_metadata:
208 type: json
209 default: {}
sgudz43eb82b2020-02-11 16:36:48 +0200210 ntw_metadata:
211 type: json
212 default: {}
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300213 vbmc_metadata:
214 type: json
215 default: {}
sgudzfe58e8a2020-02-11 13:31:40 +0200216 ucp_flavor:
217 type: string
Vasyl Saienko4f740902020-08-18 11:09:06 +0300218 default: 'kaas-bm.worker'
sgudzfe58e8a2020-02-11 13:31:40 +0200219 masters_flavor:
220 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300221 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200222 workers_flavor:
223 type: string
224 default: 'system.compact.openstack.control'
225 cmps_flavor:
226 type: string
227 default: 'system.compact.openstack.control'
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200228 acmps_flavor:
229 type: string
230 default: 'system.compact.openstack.control.ephemeral.numa'
sgudzfe58e8a2020-02-11 13:31:40 +0200231 gtws_flavor:
232 type: string
233 default: 'system.compact.openstack.control'
234 lmas_flavor:
235 type: string
236 default: 'system.compact.openstack.control'
237 osds_flavor:
238 type: string
Mateusz Lose2ad0772020-02-27 21:41:54 +0100239 default: 'system.virtual.ceph.osd'
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200240 spares_flavor:
241 type: string
242 default: 'system.compact.openstack.control'
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200243 frrs_flavor:
244 type: string
245 default: 'system.compact.openstack.control'
sgudz43eb82b2020-02-11 16:36:48 +0200246 ntws_flavor:
247 type: string
248 default: 'system.compact.openstack.control'
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300249 vbmcs_flavor:
250 type: string
251 default: 'system.compact.openstack.control'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200252 functions_override:
253 type: string
Vasyl Saienko9b688992020-02-13 13:50:53 +0200254 default: ''
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200255 docker_ee_url:
256 type: string
Vasyl Saienko552250d2021-03-19 12:07:23 +0200257 default: 'https://storebits.docker.com/ubuntu'
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200258 docker_ee_release:
259 type: string
260 default: 'stable-19.03'
Vasyl Saienkob59853e2020-05-25 10:15:26 +0300261 docker_ucp_image:
262 type: string
263 default: 'docker/ucp:3.2.4'
Vasyl Saienkocfbedc72021-02-15 18:02:56 +0200264 docker_ucp_swarm_data_port:
265 type: string
266 default: 4789
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200267 tunnel_interface:
268 type: string
269 default: ''
270 live_migration_interface:
271 type: string
272 default: ''
273 metallb_address_pools:
274 type: comma_delimited_list
275 default: ''
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200276 hardware_metadata:
277 description: The content of lab metadata.
278 default: ''
279 type: string
Mykyta Karpin6a153c52020-11-03 15:21:38 +0200280 huge_pages:
281 description: >
282 String formatted as '<Number of Gb for 1Gb huge pages>,<Number of Mb for 2Mb huge pages'
283 If number is equal to 0 alloacation of huge pages won't be configured.
284 default: '0,0'
285 type: string
Oleh Hryhorov43bbc8c2020-12-03 15:30:09 +0200286 single_node:
287 description: If set true then AIO is going to be deployed.
288 type: string
289 default: 'false'
Vasyl Saienko6a6c9f02021-02-08 09:54:29 +0200290 vsrx_image:
291 type: string
292 default: vsrx-mcp2-tf-3-nets
293 vsrx_flavor:
294 type: string
295 default: oc_vsrx
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200296 cmp_lvm_loop_device_size:
297 description: >
298 The size of loop device for computes to configure LVM on, in gigabytes
299 type: number
Vasyl Saienkob78b8902021-03-09 17:39:42 +0200300 default: 50
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200301 acmp_lvm_loop_device_size:
302 description: >
303 The size of loop device for advanced computes to configure LVM on, in gigabytes
304 type: number
305 default: 0
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100306
Oleh Hryhorovcd1a3bd2020-12-04 13:21:06 +0200307conditions:
308 aio_deploy:
309 equals:
310 - get_param: single_node
311 - 'true'
312
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100313resources:
Vasyl Saienkocdc11cf2020-11-20 17:39:00 +0200314 keypair_name:
315 type: OS::Heat::RandomString
316 properties:
317 character_classes: [{"class": "hexdigits", "min": 1}]
318 length: 128
319 salt: constant
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100320 key_pair:
321 type: OS::Nova::KeyPair
322 properties:
Vasyl Saienkocdc11cf2020-11-20 17:39:00 +0200323 name: { get_attr: [keypair_name, value] }
324 public_key: { get_param: cluster_public_key }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100325 save_private_key: false
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200326 accessible_network:
327 type: MCP2::NetworkAcc
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100328 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200329 public_net_id: { get_param: public_net_id }
Oleh Hryhorov07081d92020-06-30 16:19:29 +0300330 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienkob9e69d02021-03-19 10:09:52 +0200331 dns_nameservers: { get_param: dns_nameservers }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100332
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200333 tun_network:
334 type: MCP2::NetworkTun
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400335 properties:
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200336 tun_network_cidr: { get_param: tun_network_cidr }
337 tun_network_pool_start: { get_param: tun_network_pool_start }
338 tun_network_pool_end: { get_param: tun_network_pool_end }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400339
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100340 private_floating_network:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200341 type: MCP2::NetworkPrvFl
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100342 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200343 private_floating_network_cidr: { get_param: private_floating_network_cidr }
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +0200344 private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start }
Oleh Hryhorov7b0157d2020-02-27 18:20:11 +0200345 private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end }
Sergey Matov0709c762020-04-02 14:30:50 +0400346 private_floating_network_gateway: {get_param: private_floating_network_gateway}
347 control_network_vsrx_peering_ip: {get_param: control_network_vsrx_peering_ip}
348 accessible_network: { get_attr: [accessible_network, public_network]}
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400349 data_network_vsrx_ip: { get_param: data_network_vsrx_ip }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200350 tun_network: { get_attr: [tun_network, tun_network_id] }
Vasyl Saienko6a6c9f02021-02-08 09:54:29 +0200351 vsrx_image: { get_param: vsrx_image }
352 vsrx_flavor: { get_param: vsrx_flavor }
Mikhail Polenchuk3cf123d2021-03-12 14:23:24 +0000353 public_net_id: { get_param: public_net_id }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100354
Mateusz Lose2ad0772020-02-27 21:41:54 +0100355 storage_network:
356 type: MCP2::NetworkAccStorage
357 properties:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100358 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200359 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Mateusz Lose2ad0772020-02-27 21:41:54 +0100360
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300361 ironic_baremetal_network:
362 type: MCP2::NetworkIronicFlat
363 properties:
364 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
365 ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
366 ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
367 ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
368
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100369 ucp:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100370 depends_on:
371 - accessible_network
372 - storage_network
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200373 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100374 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200375 metadata: { get_param: ucp_metadata}
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200376 docker_ee_url: { get_param: docker_ee_url }
377 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienkob59853e2020-05-25 10:15:26 +0300378 docker_ucp_image: { get_param: docker_ucp_image}
Vasyl Saienkocfbedc72021-02-15 18:02:56 +0200379 docker_ucp_swarm_data_port: { get_param: docker_ucp_swarm_data_port }
Stepan Rogov60bc3522020-12-16 17:43:25 +0300380 docker_default_address_pool: { get_param: docker_default_address_pool }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200381 node_type: "ucp"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200382 key_name: { get_attr: [keypair_name, value] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200383 image: { get_param: image }
384 flavor: { get_param: ucp_flavor }
385 accessible_network: { get_attr: [accessible_network, public_network] }
386 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
387 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
388 private_floating_interface: { get_param: private_floating_interface }
389 private_floating_network_cidr: { get_param: private_floating_network_cidr }
390 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
391 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200392 control_network_cidr: { get_param: control_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200393 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200394 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorov43bbc8c2020-12-03 15:30:09 +0200395 single_node: { get_param: single_node}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200396
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100397 masters:
398 type: OS::Heat::ResourceGroup
399 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200400 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100401 properties:
402 count: { get_param: masters_size }
403 resource_def:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200404 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100405 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200406 metadata: { get_param: master_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200407 node_type: "master"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200408 key_name: { get_attr: [keypair_name, value] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200409 image: { get_param: image }
410 flavor: { get_param: masters_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200411 docker_ee_url: { get_param: docker_ee_url }
412 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300413 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300414 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200415 accessible_network: { get_attr: [accessible_network, public_network] }
416 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
417 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
418 private_floating_interface: { get_param: private_floating_interface }
419 private_floating_network_cidr: { get_param: private_floating_network_cidr }
420 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
421 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200422 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200423 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200424 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200425 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200426
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100427 workers:
428 type: OS::Heat::ResourceGroup
429 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200430 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100431 properties:
432 count: { get_param: worker_size }
433 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200434 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100435 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200436 metadata: { get_param: worker_metadata}
437 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200438 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100439 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200440 flavor: { get_param: workers_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200441 docker_ee_url: { get_param: docker_ee_url }
442 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300443 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300444 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200445 accessible_network: { get_attr: [accessible_network, public_network] }
446 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
447 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
448 private_floating_interface: { get_param: private_floating_interface }
449 private_floating_network_cidr: { get_param: private_floating_network_cidr }
450 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100451 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200452 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200453 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200454 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200455 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200456 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
457 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
458 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200459 storage_backend_interface: { get_param: storage_backend_interface }
460 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
461 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
462 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300463 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
464 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300465 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400466 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
467 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400468 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200469 tun_network: { get_attr: [tun_network, tun_network_id] }
470 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200471 hardware_metadata: { get_param: hardware_metadata}
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200472 lvm_loop_device_size: { get_param: cmp_lvm_loop_device_size }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200473
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100474 cmps:
475 type: OS::Heat::ResourceGroup
476 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200477 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100478 properties:
479 count: { get_param: cmp_size }
480 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200481 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100482 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200483 metadata: { get_param: cmp_metadata }
484 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200485 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100486 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200487 flavor: { get_param: cmps_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200488 docker_ee_url: { get_param: docker_ee_url }
489 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300490 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300491 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200492 accessible_network: { get_attr: [accessible_network, public_network] }
493 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
494 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
495 private_floating_interface: { get_param: private_floating_interface }
496 private_floating_network_cidr: { get_param: private_floating_network_cidr }
497 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100498 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200499 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200500 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200501 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200502 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200503 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
504 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
505 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200506 storage_backend_interface: { get_param: storage_backend_interface }
507 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
508 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
509 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300510 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
511 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300512 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400513 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
514 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400515 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200516 tun_network: { get_attr: [tun_network, tun_network_id] }
517 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200518 hardware_metadata: { get_param: hardware_metadata}
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200519 lvm_loop_device_size: { get_param: cmp_lvm_loop_device_size }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200520
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200521 acmps:
522 type: OS::Heat::ResourceGroup
523 depends_on:
524 - ucp
525 properties:
526 count: { get_param: acmp_size }
527 resource_def:
528 type: MCP2::SrvInstancesCephOSD
529 properties:
530 metadata: { get_param: acmp_metadata }
531 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200532 key_name: { get_attr: [keypair_name, value] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200533 image: { get_param: image }
534 flavor: { get_param: acmps_flavor }
535 docker_ee_url: { get_param: docker_ee_url }
536 docker_ee_release: { get_param: docker_ee_release }
537 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300538 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200539 accessible_network: { get_attr: [accessible_network, public_network] }
540 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
541 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
542 private_floating_interface: { get_param: private_floating_interface }
543 private_floating_network_cidr: { get_param: private_floating_network_cidr }
544 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
545 public_net_id: { get_param: public_net_id }
546 control_network_cidr: { get_param: control_network_cidr }
547 ucp_master_host: { get_attr: [ucp, server_private_ip] }
548 functions_override: { get_param: functions_override }
549 storage_frontend_interface: { get_param: storage_frontend_interface }
550 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
551 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
552 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
553 storage_backend_interface: { get_param: storage_backend_interface }
554 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
555 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
556 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
557 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
558 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
559 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
560 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
561 ironic_mt_enabled: { get_param: ironic_mt_enabled }
562 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200563 tun_network: { get_attr: [tun_network, tun_network_id] }
564 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200565 hardware_metadata: { get_param: hardware_metadata}
Mykyta Karpin6a153c52020-11-03 15:21:38 +0200566 huge_pages: { get_param: huge_pages }
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200567 lvm_loop_device_size: { get_param: acmp_lvm_loop_device_size }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200568
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100569 gtws:
570 type: OS::Heat::ResourceGroup
571 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200572 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100573 properties:
574 count: { get_param: gtw_size }
575 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200576 type: MCP2::SrvInstancesCeph
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100577 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200578 metadata: { get_param: gtw_metadata }
579 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200580 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100581 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200582 flavor: { get_param: gtws_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200583 docker_ee_url: { get_param: docker_ee_url }
584 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300585 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300586 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200587 accessible_network: { get_attr: [accessible_network, public_network] }
588 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
589 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
590 private_floating_interface: { get_param: private_floating_interface }
591 private_floating_network_cidr: { get_param: private_floating_network_cidr }
592 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100593 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200594 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200595 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200596 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200597 storage_frontend_interface: { get_param: storage_frontend_interface }
598 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
599 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
600 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300601 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
602 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300603 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400604 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
605 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200606 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100607
sgudzb94b4c62020-02-05 13:21:25 +0200608 lmas:
609 type: OS::Heat::ResourceGroup
610 depends_on:
611 - ucp
612 properties:
613 count: { get_param: lma_size }
614 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100615 type: MCP2::SrvInstancesCeph
sgudzb94b4c62020-02-05 13:21:25 +0200616 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200617 metadata: { get_param: lma_metadata }
618 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200619 key_name: { get_attr: [keypair_name, value] }
sgudzb94b4c62020-02-05 13:21:25 +0200620 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200621 flavor: { get_param: lmas_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200622 docker_ee_url: { get_param: docker_ee_url }
623 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300624 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300625 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200626 accessible_network: { get_attr: [accessible_network, public_network] }
627 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
628 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
629 private_floating_interface: { get_param: private_floating_interface }
630 private_floating_network_cidr: { get_param: private_floating_network_cidr }
631 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200632 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200633 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200634 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200635 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200636 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200637 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
638 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
639 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300640 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
641 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300642 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400643 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
644 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200645 hardware_metadata: { get_param: hardware_metadata}
sgudzb94b4c62020-02-05 13:21:25 +0200646
647 osds:
648 type: OS::Heat::ResourceGroup
649 depends_on:
650 - ucp
651 properties:
652 count: { get_param: osd_size }
653 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100654 type: MCP2::SrvInstancesCephOSD
sgudzb94b4c62020-02-05 13:21:25 +0200655 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200656 metadata: { get_param: osd_metadata }
657 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200658 key_name: { get_attr: [keypair_name, value] }
sgudzb94b4c62020-02-05 13:21:25 +0200659 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200660 flavor: { get_param: osds_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200661 docker_ee_url: { get_param: docker_ee_url }
662 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300663 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300664 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200665 accessible_network: { get_attr: [accessible_network, public_network] }
666 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
667 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
668 private_floating_interface: { get_param: private_floating_interface }
669 private_floating_network_cidr: { get_param: private_floating_network_cidr }
670 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200671 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200672 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200673 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200674 functions_override: { get_param: functions_override }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200675 storage_frontend_interface: { get_param: storage_frontend_interface }
676 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
677 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
678 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
679 storage_backend_interface: { get_param: storage_backend_interface }
680 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
681 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
682 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300683 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
684 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300685 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400686 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
687 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400688 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200689 tun_network: { get_attr: [tun_network, tun_network_id] }
690 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200691 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100692
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200693 frrs: # spares for osds/cmps
694 type: OS::Heat::ResourceGroup
695 depends_on:
696 - ucp
697 properties:
698 count: { get_param: frr_size }
699 resource_def:
700 type: MCP2::SrvInstancesCephOSD
701 properties:
702 metadata: { get_param: frr_metadata }
703 node_type: "frr"
704 key_name: { get_attr: [keypair_name, value] }
705 image: { get_param: image }
706 flavor: { get_param: frrs_flavor }
707 docker_ee_url: { get_param: docker_ee_url }
708 docker_ee_release: { get_param: docker_ee_release }
709 docker_ucp_image: { get_param: docker_ucp_image}
710 docker_default_address_pool: { get_param: docker_default_address_pool }
711 accessible_network: { get_attr: [accessible_network, public_network] }
712 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
713 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
714 private_floating_interface: { get_param: private_floating_interface }
715 private_floating_network_cidr: { get_param: private_floating_network_cidr }
716 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
717 public_net_id: { get_param: public_net_id }
718 control_network_cidr: { get_param: control_network_cidr }
719 ucp_master_host: { get_attr: [ucp, server_private_ip] }
720 functions_override: { get_param: functions_override }
721 storage_frontend_interface: { get_param: storage_frontend_interface }
722 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
723 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
724 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
725 storage_backend_interface: { get_param: storage_backend_interface }
726 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
727 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
728 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
729 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
730 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
731 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
732 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
733 ironic_mt_enabled: { get_param: ironic_mt_enabled }
734 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
735 tun_network: { get_attr: [tun_network, tun_network_id] }
736 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
737 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko846c6342021-02-24 17:01:36 +0200738 frr_bgp_neighbors: { list_join: [',', {get_attr: [workers, server_tun_ip]}] }
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200739
Dennis Dmitrievea894212020-03-12 21:36:43 +0200740 spares: # spares for osds/cmps
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200741 type: OS::Heat::ResourceGroup
742 depends_on:
743 - ucp
744 properties:
745 count: { get_param: spare_size }
746 resource_def:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200747 type: MCP2::SrvInstancesCephOSD
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200748 properties:
749 metadata: { get_param: spare_metadata }
750 node_type: "spare"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200751 key_name: { get_attr: [keypair_name, value] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200752 image: { get_param: image }
753 flavor: { get_param: spares_flavor }
754 docker_ee_url: { get_param: docker_ee_url }
755 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300756 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300757 docker_default_address_pool: { get_param: docker_default_address_pool }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200758 accessible_network: { get_attr: [accessible_network, public_network] }
759 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
760 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
761 private_floating_interface: { get_param: private_floating_interface }
762 private_floating_network_cidr: { get_param: private_floating_network_cidr }
763 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
764 public_net_id: { get_param: public_net_id }
765 control_network_cidr: { get_param: control_network_cidr }
766 ucp_master_host: { get_attr: [ucp, server_private_ip] }
767 functions_override: { get_param: functions_override }
768 storage_frontend_interface: { get_param: storage_frontend_interface }
769 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
770 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
771 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Dennis Dmitrievea894212020-03-12 21:36:43 +0200772 storage_backend_interface: { get_param: storage_backend_interface }
773 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
774 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
775 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300776 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
777 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300778 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400779 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
780 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400781 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200782 tun_network: { get_attr: [tun_network, tun_network_id] }
783 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200784 hardware_metadata: { get_param: hardware_metadata}
785
sgudz43eb82b2020-02-11 16:36:48 +0200786 ntws:
787 type: OS::Heat::ResourceGroup
788 depends_on:
789 - ucp
790 properties:
791 count: { get_param: ntw_size }
792 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200793 type: MCP2::SrvInstancesCeph
sgudz43eb82b2020-02-11 16:36:48 +0200794 properties:
795 metadata: { get_param: ntw_metadata }
796 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200797 key_name: { get_attr: [keypair_name, value] }
sgudz43eb82b2020-02-11 16:36:48 +0200798 image: { get_param: image }
799 flavor: { get_param: ntws_flavor }
800 docker_ee_url: { get_param: docker_ee_url }
801 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300802 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300803 docker_default_address_pool: { get_param: docker_default_address_pool }
sgudz43eb82b2020-02-11 16:36:48 +0200804 accessible_network: { get_attr: [accessible_network, public_network] }
805 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
806 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
807 private_floating_interface: { get_param: private_floating_interface }
808 private_floating_network_cidr: { get_param: private_floating_network_cidr }
809 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
810 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200811 control_network_cidr: { get_param: control_network_cidr }
sgudz43eb82b2020-02-11 16:36:48 +0200812 ucp_master_host: { get_attr: [ucp, server_private_ip] }
813 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200814 storage_frontend_interface: { get_param: storage_frontend_interface }
815 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
816 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
817 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300818 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
819 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300820 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400821 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
822 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200823 hardware_metadata: { get_param: hardware_metadata}
sgudz43eb82b2020-02-11 16:36:48 +0200824
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300825 vbmcs:
826 type: OS::Heat::ResourceGroup
827 depends_on:
828 - ucp
829 properties:
830 count: { get_param: vbmc_size }
831 resource_def:
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400832 type: MCP2::SrvInstancesCeph
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300833 properties:
834 metadata: { get_param: vbmc_metadata}
835 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200836 key_name: { get_attr: [keypair_name, value] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300837 image: { get_param: image }
838 flavor: { get_param: vbmcs_flavor }
839 docker_ee_url: { get_param: docker_ee_url }
840 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300841 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300842 docker_default_address_pool: { get_param: docker_default_address_pool }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300843 accessible_network: { get_attr: [accessible_network, public_network] }
844 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
845 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
846 private_floating_interface: { get_param: private_floating_interface }
847 private_floating_network_cidr: { get_param: private_floating_network_cidr }
848 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
849 public_net_id: { get_param: public_net_id }
850 control_network_cidr: { get_param: control_network_cidr }
851 ucp_master_host: { get_attr: [ucp, server_private_ip] }
852 functions_override: { get_param: functions_override }
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400853 storage_frontend_interface: { get_param: storage_frontend_interface }
854 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
855 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
856 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Michael Polenchuk21493b32020-05-15 21:08:04 +0400857 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
858 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300859 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400860 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
861 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300862 hardware_metadata: { get_param: hardware_metadata}
863
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100864outputs:
865 ucp_ips:
866 description: Private IP addresses of the deployed ucp instances
867 value: { get_attr: [ucp, server_public_ip] }
868 masters_ips:
869 description: Private IP addresses of the deployed masters instances
870 value: { get_attr: [masters, server_public_ip] }
871 workers_ips:
872 description: Private IP addresses of the deployed worker instances
873 value: { get_attr: [workers, server_public_ip] }
874 cmps_ips:
875 description: Private IP addresses of the deployed cmp instances
876 value: { get_attr: [cmps, server_public_ip] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200877 acmps_ips:
878 description: Private IP addresses of the deployed cmp instances with high computing features
879 value: { get_attr: [acmps, server_public_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100880 gtws_ips:
881 description: Private IP addresses of the deployed gtw instances
882 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200883 lmas_ips:
884 description: Private IP addresses of the deployed lma instances
885 value: { get_attr: [lmas, server_public_ip] }
886 osds_ips:
887 description: Private IP addresses of the deployed osd instances
888 value: { get_attr: [osds, server_public_ip] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200889 spares_ips:
890 description: Private IP addresses of the deployed spare instances
891 value: { get_attr: [spares, server_public_ip] }
sgudz43eb82b2020-02-11 16:36:48 +0200892 ntws_ips:
893 description: Private IP addresses of the deployed contrail instances
894 value: { get_attr: [ntws, server_public_ip] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300895 vbmcs_ips:
896 description: Private IP addresses of the deployed virtualbmcs instances
897 value: { get_attr: [vbmcs, server_public_ip] }
Vasyl Saienko4e3f4632020-05-26 14:43:09 +0300898 vbmc_ironic_baremetal_ips:
899 description: The IPs of ironic baremetal network assigned to vbmc hosts.
900 value: { get_attr: [vbmcs, server_ironic_baremetal_ip] }
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200901 frrs_ips:
902 description: Private IP addresses of the deployed FRR instances
903 value: { get_attr: [frrs, server_public_ip] }
904 frrs_tunnel_ips:
905 description: The tunnel IPs of FRR nodes
Michael Polenchuk2a770942021-03-04 18:01:17 +0400906 value: { get_attr: [frrs, server_tun_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200907 worker_private_floating_ips:
908 description: IPs might be used as gateway
Oleh Hryhorovcd1a3bd2020-12-04 13:21:06 +0200909 value: {if: [aio_deploy, {get_attr: [ucp, server_private_floating_ip]}, {get_attr: [workers, server_private_floating_ip]}]}
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200910 private_floating_cidr:
911 value: { get_param: private_floating_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200912 private_floating_network_pool_start:
913 value: { get_param: private_floating_network_pool_start }
914 private_floating_network_pool_end:
915 value: { get_param: private_floating_network_pool_end }
916 private_floating_network_gateway:
917 value: { get_param: private_floating_network_gateway }
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300918 private_floating_network_interface:
919 value: { get_param: private_floating_network_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300920 ironic_baremetal_network_pool_start:
921 value: { get_param: ironic_baremetal_network_pool_start }
922 ironic_baremetal_network_pool_end:
923 value: { get_param: ironic_baremetal_network_pool_end }
Mykyta Karpin832e9f82021-02-18 14:55:27 +0200924 ironic_baremetal_network_gateway:
925 value: { get_param: ironic_baremetal_network_gateway }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300926 ironic_baremetal_network_interface:
927 value: { get_param: ironic_baremetal_network_interface }
Vasyl Saienko1233afd2020-05-21 14:55:21 +0300928 ironic_baremetal_network_vbmc_interface:
929 value: { get_param: ironic_baremetal_network_vbmc_interface }
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300930 ironic_baremetal_provisioning_interface:
931 value: { get_param: ironic_baremetal_provisioning_interface }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400932 ironic_baremetal_pxe_interface:
933 value: { get_param: ironic_baremetal_pxe_interface }
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200934 tunnel_interface:
935 value: { get_param: tunnel_interface }
936 live_migration_interface:
937 value: { get_param: live_migration_interface }
938 metallb_address_pools:
939 value: { get_param: metallb_address_pools }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200940 ucp_wc_data:
941 description: Metadata from ucp
942 value: { get_attr: [ucp, wc_data] }
943 masters_wc_data:
944 description: Metadata from masters
945 value: { get_attr: [masters, wc_data] }
946 workers_wc_data:
947 description: Metadata from workers
948 value: { get_attr: [workers, wc_data] }
949 cmps_wc_data:
950 description: Metadata from cmps
951 value: { get_attr: [cmps, wc_data] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200952 acmps_wc_data:
953 description: Metadata from cmps with high computing features
954 value: { get_attr: [acmps, wc_data] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200955 gtws_wc_data:
956 description: Metadata from gtws
957 value: { get_attr: [gtws, wc_data] }
958 lmas_wc_data:
959 description: Metadata from lmas
960 value: { get_attr: [lmas, wc_data] }
961 osds_wc_data:
962 description: Metadata from osds
963 value: { get_attr: [osds, wc_data] }
964 ntws_wc_data:
965 description: Metadata from ntws
966 value: { get_attr: [ntws, wc_data] }
Oleh Hryhorov564a1202020-03-12 12:44:56 +0200967 storage_frontend_network_cidr:
968 description: Storage network which is used as clientNet in Ceph CR
969 value: { get_param: storage_frontend_network_cidr }
970 storage_backend_network_cidr:
971 description: Storage network which is used as clusterNet in Ceph CR
972 value: { get_param: storage_backend_network_cidr }
Anton Samoylov474029a2020-09-03 11:02:01 +0400973 tungstenfabric_enabled:
974 value: { get_param: tungstenfabric_enabled }
975 data_network_vsrx_ip:
976 description: IP address of vsrx in tungsten fabric data network
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200977 value: { get_param: data_network_vsrx_ip }
Mikhail Polenchuk3cf123d2021-03-12 14:23:24 +0000978 public_network_vsrx_ip:
979 description: IP address of vsrx in tungsten fabric public network
980 value: { get_attr: [private_floating_network, server_public_ip] }