blob: e829a9f3ec3541e53cd7360fef9c6d88a3b75322 [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
Vasyl Saienkocd302062021-04-21 22:25:18 +0300301 cmp_cinder_lvm_loop_device_size:
302 description: >
303 The size of loop device for computes to configure LVM on, in gigabytes
304 type: number
305 default: 0
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200306 acmp_lvm_loop_device_size:
307 description: >
308 The size of loop device for advanced computes to configure LVM on, in gigabytes
309 type: number
310 default: 0
Vasyl Saienkocd302062021-04-21 22:25:18 +0300311 acmp_cinder_lvm_loop_device_size:
312 description: >
313 The size of loop device for advanced computes to configure LVM on, in gigabytes
314 type: number
315 default: 0
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100316
Oleh Hryhorovcd1a3bd2020-12-04 13:21:06 +0200317conditions:
318 aio_deploy:
319 equals:
320 - get_param: single_node
321 - 'true'
322
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100323resources:
Vasyl Saienkocdc11cf2020-11-20 17:39:00 +0200324 keypair_name:
325 type: OS::Heat::RandomString
326 properties:
327 character_classes: [{"class": "hexdigits", "min": 1}]
328 length: 128
329 salt: constant
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100330 key_pair:
331 type: OS::Nova::KeyPair
332 properties:
Vasyl Saienkocdc11cf2020-11-20 17:39:00 +0200333 name: { get_attr: [keypair_name, value] }
334 public_key: { get_param: cluster_public_key }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100335 save_private_key: false
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200336 accessible_network:
337 type: MCP2::NetworkAcc
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100338 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200339 public_net_id: { get_param: public_net_id }
Oleh Hryhorov07081d92020-06-30 16:19:29 +0300340 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienkob9e69d02021-03-19 10:09:52 +0200341 dns_nameservers: { get_param: dns_nameservers }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100342
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200343 tun_network:
344 type: MCP2::NetworkTun
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400345 properties:
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200346 tun_network_cidr: { get_param: tun_network_cidr }
347 tun_network_pool_start: { get_param: tun_network_pool_start }
348 tun_network_pool_end: { get_param: tun_network_pool_end }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400349
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100350 private_floating_network:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200351 type: MCP2::NetworkPrvFl
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100352 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200353 private_floating_network_cidr: { get_param: private_floating_network_cidr }
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +0200354 private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start }
Oleh Hryhorov7b0157d2020-02-27 18:20:11 +0200355 private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end }
Sergey Matov0709c762020-04-02 14:30:50 +0400356 private_floating_network_gateway: {get_param: private_floating_network_gateway}
357 control_network_vsrx_peering_ip: {get_param: control_network_vsrx_peering_ip}
358 accessible_network: { get_attr: [accessible_network, public_network]}
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400359 data_network_vsrx_ip: { get_param: data_network_vsrx_ip }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200360 tun_network: { get_attr: [tun_network, tun_network_id] }
Vasyl Saienko6a6c9f02021-02-08 09:54:29 +0200361 vsrx_image: { get_param: vsrx_image }
362 vsrx_flavor: { get_param: vsrx_flavor }
Mikhail Polenchuk3cf123d2021-03-12 14:23:24 +0000363 public_net_id: { get_param: public_net_id }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100364
Mateusz Lose2ad0772020-02-27 21:41:54 +0100365 storage_network:
366 type: MCP2::NetworkAccStorage
367 properties:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100368 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200369 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Mateusz Lose2ad0772020-02-27 21:41:54 +0100370
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300371 ironic_baremetal_network:
372 type: MCP2::NetworkIronicFlat
373 properties:
374 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
375 ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
376 ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
377 ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
378
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100379 ucp:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100380 depends_on:
381 - accessible_network
382 - storage_network
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200383 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100384 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200385 metadata: { get_param: ucp_metadata}
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200386 docker_ee_url: { get_param: docker_ee_url }
387 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienkob59853e2020-05-25 10:15:26 +0300388 docker_ucp_image: { get_param: docker_ucp_image}
Vasyl Saienkocfbedc72021-02-15 18:02:56 +0200389 docker_ucp_swarm_data_port: { get_param: docker_ucp_swarm_data_port }
Stepan Rogov60bc3522020-12-16 17:43:25 +0300390 docker_default_address_pool: { get_param: docker_default_address_pool }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200391 node_type: "ucp"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200392 key_name: { get_attr: [keypair_name, value] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200393 image: { get_param: image }
394 flavor: { get_param: ucp_flavor }
395 accessible_network: { get_attr: [accessible_network, public_network] }
396 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
397 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
398 private_floating_interface: { get_param: private_floating_interface }
399 private_floating_network_cidr: { get_param: private_floating_network_cidr }
400 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
401 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200402 control_network_cidr: { get_param: control_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200403 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200404 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorov43bbc8c2020-12-03 15:30:09 +0200405 single_node: { get_param: single_node}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200406
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100407 masters:
408 type: OS::Heat::ResourceGroup
409 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200410 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100411 properties:
412 count: { get_param: masters_size }
413 resource_def:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200414 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100415 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200416 metadata: { get_param: master_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200417 node_type: "master"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200418 key_name: { get_attr: [keypair_name, value] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200419 image: { get_param: image }
420 flavor: { get_param: masters_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200421 docker_ee_url: { get_param: docker_ee_url }
422 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300423 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300424 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200425 accessible_network: { get_attr: [accessible_network, public_network] }
426 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
427 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
428 private_floating_interface: { get_param: private_floating_interface }
429 private_floating_network_cidr: { get_param: private_floating_network_cidr }
430 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
431 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200432 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200433 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200434 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200435 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200436
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100437 workers:
438 type: OS::Heat::ResourceGroup
439 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200440 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100441 properties:
442 count: { get_param: worker_size }
443 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200444 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100445 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200446 metadata: { get_param: worker_metadata}
447 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200448 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100449 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200450 flavor: { get_param: workers_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200451 docker_ee_url: { get_param: docker_ee_url }
452 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300453 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300454 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200455 accessible_network: { get_attr: [accessible_network, public_network] }
456 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
457 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
458 private_floating_interface: { get_param: private_floating_interface }
459 private_floating_network_cidr: { get_param: private_floating_network_cidr }
460 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100461 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200462 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200463 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200464 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200465 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200466 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
467 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
468 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200469 storage_backend_interface: { get_param: storage_backend_interface }
470 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
471 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
472 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300473 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
474 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300475 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400476 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
477 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400478 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200479 tun_network: { get_attr: [tun_network, tun_network_id] }
480 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200481 hardware_metadata: { get_param: hardware_metadata}
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200482 lvm_loop_device_size: { get_param: cmp_lvm_loop_device_size }
Vasyl Saienkocd302062021-04-21 22:25:18 +0300483 cinder_lvm_loop_device_size: { get_param: cmp_cinder_lvm_loop_device_size }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200484
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100485 cmps:
486 type: OS::Heat::ResourceGroup
487 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200488 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100489 properties:
490 count: { get_param: cmp_size }
491 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200492 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100493 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200494 metadata: { get_param: cmp_metadata }
495 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200496 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100497 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200498 flavor: { get_param: cmps_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200499 docker_ee_url: { get_param: docker_ee_url }
500 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300501 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300502 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200503 accessible_network: { get_attr: [accessible_network, public_network] }
504 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
505 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
506 private_floating_interface: { get_param: private_floating_interface }
507 private_floating_network_cidr: { get_param: private_floating_network_cidr }
508 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100509 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200510 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200511 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200512 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200513 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200514 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
515 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
516 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200517 storage_backend_interface: { get_param: storage_backend_interface }
518 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
519 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
520 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300521 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
522 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300523 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400524 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
525 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400526 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200527 tun_network: { get_attr: [tun_network, tun_network_id] }
528 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200529 hardware_metadata: { get_param: hardware_metadata}
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200530 lvm_loop_device_size: { get_param: cmp_lvm_loop_device_size }
Vasyl Saienkocd302062021-04-21 22:25:18 +0300531 cinder_lvm_loop_device_size: { get_param: cmp_cinder_lvm_loop_device_size }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200532
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200533 acmps:
534 type: OS::Heat::ResourceGroup
535 depends_on:
536 - ucp
537 properties:
538 count: { get_param: acmp_size }
539 resource_def:
540 type: MCP2::SrvInstancesCephOSD
541 properties:
542 metadata: { get_param: acmp_metadata }
543 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200544 key_name: { get_attr: [keypair_name, value] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200545 image: { get_param: image }
546 flavor: { get_param: acmps_flavor }
547 docker_ee_url: { get_param: docker_ee_url }
548 docker_ee_release: { get_param: docker_ee_release }
549 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300550 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200551 accessible_network: { get_attr: [accessible_network, public_network] }
552 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
553 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
554 private_floating_interface: { get_param: private_floating_interface }
555 private_floating_network_cidr: { get_param: private_floating_network_cidr }
556 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
557 public_net_id: { get_param: public_net_id }
558 control_network_cidr: { get_param: control_network_cidr }
559 ucp_master_host: { get_attr: [ucp, server_private_ip] }
560 functions_override: { get_param: functions_override }
561 storage_frontend_interface: { get_param: storage_frontend_interface }
562 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
563 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
564 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
565 storage_backend_interface: { get_param: storage_backend_interface }
566 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
567 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
568 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
569 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
570 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
571 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
572 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
573 ironic_mt_enabled: { get_param: ironic_mt_enabled }
574 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200575 tun_network: { get_attr: [tun_network, tun_network_id] }
576 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200577 hardware_metadata: { get_param: hardware_metadata}
Mykyta Karpin6a153c52020-11-03 15:21:38 +0200578 huge_pages: { get_param: huge_pages }
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200579 lvm_loop_device_size: { get_param: acmp_lvm_loop_device_size }
Vasyl Saienkocd302062021-04-21 22:25:18 +0300580 cinder_lvm_loop_device_size: { get_param: acmp_cinder_lvm_loop_device_size }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200581
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100582 gtws:
583 type: OS::Heat::ResourceGroup
584 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200585 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100586 properties:
587 count: { get_param: gtw_size }
588 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200589 type: MCP2::SrvInstancesCeph
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100590 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200591 metadata: { get_param: gtw_metadata }
592 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200593 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100594 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200595 flavor: { get_param: gtws_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200596 docker_ee_url: { get_param: docker_ee_url }
597 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300598 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300599 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200600 accessible_network: { get_attr: [accessible_network, public_network] }
601 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
602 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
603 private_floating_interface: { get_param: private_floating_interface }
604 private_floating_network_cidr: { get_param: private_floating_network_cidr }
605 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100606 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200607 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200608 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200609 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200610 storage_frontend_interface: { get_param: storage_frontend_interface }
611 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
612 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
613 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300614 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
615 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300616 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400617 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
618 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200619 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100620
sgudzb94b4c62020-02-05 13:21:25 +0200621 lmas:
622 type: OS::Heat::ResourceGroup
623 depends_on:
624 - ucp
625 properties:
626 count: { get_param: lma_size }
627 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100628 type: MCP2::SrvInstancesCeph
sgudzb94b4c62020-02-05 13:21:25 +0200629 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200630 metadata: { get_param: lma_metadata }
631 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200632 key_name: { get_attr: [keypair_name, value] }
sgudzb94b4c62020-02-05 13:21:25 +0200633 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200634 flavor: { get_param: lmas_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200635 docker_ee_url: { get_param: docker_ee_url }
636 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300637 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300638 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200639 accessible_network: { get_attr: [accessible_network, public_network] }
640 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
641 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
642 private_floating_interface: { get_param: private_floating_interface }
643 private_floating_network_cidr: { get_param: private_floating_network_cidr }
644 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200645 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200646 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200647 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200648 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200649 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200650 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
651 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
652 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300653 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
654 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300655 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400656 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
657 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200658 hardware_metadata: { get_param: hardware_metadata}
sgudzb94b4c62020-02-05 13:21:25 +0200659
660 osds:
661 type: OS::Heat::ResourceGroup
662 depends_on:
663 - ucp
664 properties:
665 count: { get_param: osd_size }
666 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100667 type: MCP2::SrvInstancesCephOSD
sgudzb94b4c62020-02-05 13:21:25 +0200668 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200669 metadata: { get_param: osd_metadata }
670 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200671 key_name: { get_attr: [keypair_name, value] }
sgudzb94b4c62020-02-05 13:21:25 +0200672 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200673 flavor: { get_param: osds_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200674 docker_ee_url: { get_param: docker_ee_url }
675 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300676 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300677 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200678 accessible_network: { get_attr: [accessible_network, public_network] }
679 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
680 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
681 private_floating_interface: { get_param: private_floating_interface }
682 private_floating_network_cidr: { get_param: private_floating_network_cidr }
683 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200684 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200685 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200686 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200687 functions_override: { get_param: functions_override }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200688 storage_frontend_interface: { get_param: storage_frontend_interface }
689 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
690 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
691 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
692 storage_backend_interface: { get_param: storage_backend_interface }
693 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
694 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
695 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300696 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
697 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300698 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400699 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
700 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400701 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200702 tun_network: { get_attr: [tun_network, tun_network_id] }
703 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200704 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100705
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200706 frrs: # spares for osds/cmps
707 type: OS::Heat::ResourceGroup
708 depends_on:
709 - ucp
710 properties:
711 count: { get_param: frr_size }
712 resource_def:
713 type: MCP2::SrvInstancesCephOSD
714 properties:
715 metadata: { get_param: frr_metadata }
716 node_type: "frr"
717 key_name: { get_attr: [keypair_name, value] }
718 image: { get_param: image }
719 flavor: { get_param: frrs_flavor }
720 docker_ee_url: { get_param: docker_ee_url }
721 docker_ee_release: { get_param: docker_ee_release }
722 docker_ucp_image: { get_param: docker_ucp_image}
723 docker_default_address_pool: { get_param: docker_default_address_pool }
724 accessible_network: { get_attr: [accessible_network, public_network] }
725 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
726 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
727 private_floating_interface: { get_param: private_floating_interface }
728 private_floating_network_cidr: { get_param: private_floating_network_cidr }
729 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
730 public_net_id: { get_param: public_net_id }
731 control_network_cidr: { get_param: control_network_cidr }
732 ucp_master_host: { get_attr: [ucp, server_private_ip] }
733 functions_override: { get_param: functions_override }
734 storage_frontend_interface: { get_param: storage_frontend_interface }
735 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
736 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
737 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
738 storage_backend_interface: { get_param: storage_backend_interface }
739 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
740 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
741 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
742 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
743 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
744 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
745 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
746 ironic_mt_enabled: { get_param: ironic_mt_enabled }
747 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
748 tun_network: { get_attr: [tun_network, tun_network_id] }
749 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
750 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko846c6342021-02-24 17:01:36 +0200751 frr_bgp_neighbors: { list_join: [',', {get_attr: [workers, server_tun_ip]}] }
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200752
Dennis Dmitrievea894212020-03-12 21:36:43 +0200753 spares: # spares for osds/cmps
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200754 type: OS::Heat::ResourceGroup
755 depends_on:
756 - ucp
757 properties:
758 count: { get_param: spare_size }
759 resource_def:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200760 type: MCP2::SrvInstancesCephOSD
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200761 properties:
762 metadata: { get_param: spare_metadata }
763 node_type: "spare"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200764 key_name: { get_attr: [keypair_name, value] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200765 image: { get_param: image }
766 flavor: { get_param: spares_flavor }
767 docker_ee_url: { get_param: docker_ee_url }
768 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300769 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300770 docker_default_address_pool: { get_param: docker_default_address_pool }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200771 accessible_network: { get_attr: [accessible_network, public_network] }
772 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
773 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
774 private_floating_interface: { get_param: private_floating_interface }
775 private_floating_network_cidr: { get_param: private_floating_network_cidr }
776 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
777 public_net_id: { get_param: public_net_id }
778 control_network_cidr: { get_param: control_network_cidr }
779 ucp_master_host: { get_attr: [ucp, server_private_ip] }
780 functions_override: { get_param: functions_override }
781 storage_frontend_interface: { get_param: storage_frontend_interface }
782 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
783 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
784 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Dennis Dmitrievea894212020-03-12 21:36:43 +0200785 storage_backend_interface: { get_param: storage_backend_interface }
786 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
787 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
788 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300789 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
790 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300791 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400792 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
793 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400794 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200795 tun_network: { get_attr: [tun_network, tun_network_id] }
796 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200797 hardware_metadata: { get_param: hardware_metadata}
798
sgudz43eb82b2020-02-11 16:36:48 +0200799 ntws:
800 type: OS::Heat::ResourceGroup
801 depends_on:
802 - ucp
803 properties:
804 count: { get_param: ntw_size }
805 resource_def:
Anton Samoylov23f52c92021-05-12 22:22:30 +0400806 type: MCP2::SrvInstancesCephOSD
sgudz43eb82b2020-02-11 16:36:48 +0200807 properties:
808 metadata: { get_param: ntw_metadata }
809 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200810 key_name: { get_attr: [keypair_name, value] }
sgudz43eb82b2020-02-11 16:36:48 +0200811 image: { get_param: image }
812 flavor: { get_param: ntws_flavor }
813 docker_ee_url: { get_param: docker_ee_url }
814 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300815 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300816 docker_default_address_pool: { get_param: docker_default_address_pool }
sgudz43eb82b2020-02-11 16:36:48 +0200817 accessible_network: { get_attr: [accessible_network, public_network] }
818 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
819 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
820 private_floating_interface: { get_param: private_floating_interface }
821 private_floating_network_cidr: { get_param: private_floating_network_cidr }
822 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
823 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200824 control_network_cidr: { get_param: control_network_cidr }
sgudz43eb82b2020-02-11 16:36:48 +0200825 ucp_master_host: { get_attr: [ucp, server_private_ip] }
826 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200827 storage_frontend_interface: { get_param: storage_frontend_interface }
828 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
829 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
830 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Anton Samoylov23f52c92021-05-12 22:22:30 +0400831 storage_backend_interface: { get_param: storage_backend_interface }
832 storage_backend_network: { get_attr: [ storage_network, storage_backend_network_id ] }
833 storage_backend_subnet_id: { get_attr: [ storage_network, storage_backend_subnet_id ] }
834 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300835 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
836 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300837 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400838 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
839 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylov23f52c92021-05-12 22:22:30 +0400840 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
841 tun_network: { get_attr: [tun_network, tun_network_id] }
842 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200843 hardware_metadata: { get_param: hardware_metadata}
sgudz43eb82b2020-02-11 16:36:48 +0200844
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300845 vbmcs:
846 type: OS::Heat::ResourceGroup
847 depends_on:
848 - ucp
849 properties:
850 count: { get_param: vbmc_size }
851 resource_def:
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400852 type: MCP2::SrvInstancesCeph
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300853 properties:
854 metadata: { get_param: vbmc_metadata}
855 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200856 key_name: { get_attr: [keypair_name, value] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300857 image: { get_param: image }
858 flavor: { get_param: vbmcs_flavor }
859 docker_ee_url: { get_param: docker_ee_url }
860 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300861 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300862 docker_default_address_pool: { get_param: docker_default_address_pool }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300863 accessible_network: { get_attr: [accessible_network, public_network] }
864 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
865 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
866 private_floating_interface: { get_param: private_floating_interface }
867 private_floating_network_cidr: { get_param: private_floating_network_cidr }
868 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
869 public_net_id: { get_param: public_net_id }
870 control_network_cidr: { get_param: control_network_cidr }
871 ucp_master_host: { get_attr: [ucp, server_private_ip] }
872 functions_override: { get_param: functions_override }
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400873 storage_frontend_interface: { get_param: storage_frontend_interface }
874 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
875 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
876 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Michael Polenchuk21493b32020-05-15 21:08:04 +0400877 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
878 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300879 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400880 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
881 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300882 hardware_metadata: { get_param: hardware_metadata}
883
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100884outputs:
885 ucp_ips:
886 description: Private IP addresses of the deployed ucp instances
887 value: { get_attr: [ucp, server_public_ip] }
888 masters_ips:
889 description: Private IP addresses of the deployed masters instances
890 value: { get_attr: [masters, server_public_ip] }
891 workers_ips:
892 description: Private IP addresses of the deployed worker instances
893 value: { get_attr: [workers, server_public_ip] }
894 cmps_ips:
895 description: Private IP addresses of the deployed cmp instances
896 value: { get_attr: [cmps, server_public_ip] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200897 acmps_ips:
898 description: Private IP addresses of the deployed cmp instances with high computing features
899 value: { get_attr: [acmps, server_public_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100900 gtws_ips:
901 description: Private IP addresses of the deployed gtw instances
902 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200903 lmas_ips:
904 description: Private IP addresses of the deployed lma instances
905 value: { get_attr: [lmas, server_public_ip] }
906 osds_ips:
907 description: Private IP addresses of the deployed osd instances
908 value: { get_attr: [osds, server_public_ip] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200909 spares_ips:
910 description: Private IP addresses of the deployed spare instances
911 value: { get_attr: [spares, server_public_ip] }
sgudz43eb82b2020-02-11 16:36:48 +0200912 ntws_ips:
913 description: Private IP addresses of the deployed contrail instances
914 value: { get_attr: [ntws, server_public_ip] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300915 vbmcs_ips:
916 description: Private IP addresses of the deployed virtualbmcs instances
917 value: { get_attr: [vbmcs, server_public_ip] }
Vasyl Saienko4e3f4632020-05-26 14:43:09 +0300918 vbmc_ironic_baremetal_ips:
919 description: The IPs of ironic baremetal network assigned to vbmc hosts.
920 value: { get_attr: [vbmcs, server_ironic_baremetal_ip] }
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200921 frrs_ips:
922 description: Private IP addresses of the deployed FRR instances
923 value: { get_attr: [frrs, server_public_ip] }
924 frrs_tunnel_ips:
925 description: The tunnel IPs of FRR nodes
Michael Polenchuk2a770942021-03-04 18:01:17 +0400926 value: { get_attr: [frrs, server_tun_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200927 worker_private_floating_ips:
928 description: IPs might be used as gateway
Oleh Hryhorovcd1a3bd2020-12-04 13:21:06 +0200929 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 +0200930 private_floating_cidr:
931 value: { get_param: private_floating_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200932 private_floating_network_pool_start:
933 value: { get_param: private_floating_network_pool_start }
934 private_floating_network_pool_end:
935 value: { get_param: private_floating_network_pool_end }
936 private_floating_network_gateway:
937 value: { get_param: private_floating_network_gateway }
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300938 private_floating_network_interface:
939 value: { get_param: private_floating_network_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300940 ironic_baremetal_network_pool_start:
941 value: { get_param: ironic_baremetal_network_pool_start }
942 ironic_baremetal_network_pool_end:
943 value: { get_param: ironic_baremetal_network_pool_end }
Mykyta Karpin832e9f82021-02-18 14:55:27 +0200944 ironic_baremetal_network_gateway:
945 value: { get_param: ironic_baremetal_network_gateway }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300946 ironic_baremetal_network_interface:
947 value: { get_param: ironic_baremetal_network_interface }
Vasyl Saienko1233afd2020-05-21 14:55:21 +0300948 ironic_baremetal_network_vbmc_interface:
949 value: { get_param: ironic_baremetal_network_vbmc_interface }
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300950 ironic_baremetal_provisioning_interface:
951 value: { get_param: ironic_baremetal_provisioning_interface }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400952 ironic_baremetal_pxe_interface:
953 value: { get_param: ironic_baremetal_pxe_interface }
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200954 tunnel_interface:
955 value: { get_param: tunnel_interface }
956 live_migration_interface:
957 value: { get_param: live_migration_interface }
958 metallb_address_pools:
959 value: { get_param: metallb_address_pools }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200960 ucp_wc_data:
961 description: Metadata from ucp
962 value: { get_attr: [ucp, wc_data] }
963 masters_wc_data:
964 description: Metadata from masters
965 value: { get_attr: [masters, wc_data] }
966 workers_wc_data:
967 description: Metadata from workers
968 value: { get_attr: [workers, wc_data] }
969 cmps_wc_data:
970 description: Metadata from cmps
971 value: { get_attr: [cmps, wc_data] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200972 acmps_wc_data:
973 description: Metadata from cmps with high computing features
974 value: { get_attr: [acmps, wc_data] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200975 gtws_wc_data:
976 description: Metadata from gtws
977 value: { get_attr: [gtws, wc_data] }
978 lmas_wc_data:
979 description: Metadata from lmas
980 value: { get_attr: [lmas, wc_data] }
981 osds_wc_data:
982 description: Metadata from osds
983 value: { get_attr: [osds, wc_data] }
984 ntws_wc_data:
985 description: Metadata from ntws
986 value: { get_attr: [ntws, wc_data] }
Oleh Hryhorov564a1202020-03-12 12:44:56 +0200987 storage_frontend_network_cidr:
988 description: Storage network which is used as clientNet in Ceph CR
989 value: { get_param: storage_frontend_network_cidr }
990 storage_backend_network_cidr:
991 description: Storage network which is used as clusterNet in Ceph CR
992 value: { get_param: storage_backend_network_cidr }
Anton Samoylov474029a2020-09-03 11:02:01 +0400993 tungstenfabric_enabled:
994 value: { get_param: tungstenfabric_enabled }
995 data_network_vsrx_ip:
996 description: IP address of vsrx in tungsten fabric data network
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200997 value: { get_param: data_network_vsrx_ip }
Mikhail Polenchuk3cf123d2021-03-12 14:23:24 +0000998 public_network_vsrx_ip:
999 description: IP address of vsrx in tungsten fabric public network
1000 value: { get_attr: [private_floating_network, server_public_ip] }