blob: c1f27ad11b4252011df873e7f96343c2b7074c91 [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 Saienko1785c352020-03-11 11:39:40 +0200257 default: 'http://mirror-us.mcp.mirantis.net/.snapshots/docker-ee-bionic-latest'
258# default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux/ubuntu'
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200259 docker_ee_release:
260 type: string
261 default: 'stable-19.03'
Vasyl Saienkob59853e2020-05-25 10:15:26 +0300262 docker_ucp_image:
263 type: string
264 default: 'docker/ucp:3.2.4'
Vasyl Saienkocfbedc72021-02-15 18:02:56 +0200265 docker_ucp_swarm_data_port:
266 type: string
267 default: 4789
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200268 tunnel_interface:
269 type: string
270 default: ''
271 live_migration_interface:
272 type: string
273 default: ''
274 metallb_address_pools:
275 type: comma_delimited_list
276 default: ''
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200277 hardware_metadata:
278 description: The content of lab metadata.
279 default: ''
280 type: string
Mykyta Karpin6a153c52020-11-03 15:21:38 +0200281 huge_pages:
282 description: >
283 String formatted as '<Number of Gb for 1Gb huge pages>,<Number of Mb for 2Mb huge pages'
284 If number is equal to 0 alloacation of huge pages won't be configured.
285 default: '0,0'
286 type: string
Oleh Hryhorov43bbc8c2020-12-03 15:30:09 +0200287 single_node:
288 description: If set true then AIO is going to be deployed.
289 type: string
290 default: 'false'
Vasyl Saienko6a6c9f02021-02-08 09:54:29 +0200291 vsrx_image:
292 type: string
293 default: vsrx-mcp2-tf-3-nets
294 vsrx_flavor:
295 type: string
296 default: oc_vsrx
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200297 cmp_lvm_loop_device_size:
298 description: >
299 The size of loop device for computes to configure LVM on, in gigabytes
300 type: number
Vasyl Saienkob78b8902021-03-09 17:39:42 +0200301 default: 50
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200302 acmp_lvm_loop_device_size:
303 description: >
304 The size of loop device for advanced computes to configure LVM on, in gigabytes
305 type: number
306 default: 0
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100307
Oleh Hryhorovcd1a3bd2020-12-04 13:21:06 +0200308conditions:
309 aio_deploy:
310 equals:
311 - get_param: single_node
312 - 'true'
313
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100314resources:
Vasyl Saienkocdc11cf2020-11-20 17:39:00 +0200315 keypair_name:
316 type: OS::Heat::RandomString
317 properties:
318 character_classes: [{"class": "hexdigits", "min": 1}]
319 length: 128
320 salt: constant
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100321 key_pair:
322 type: OS::Nova::KeyPair
323 properties:
Vasyl Saienkocdc11cf2020-11-20 17:39:00 +0200324 name: { get_attr: [keypair_name, value] }
325 public_key: { get_param: cluster_public_key }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100326 save_private_key: false
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200327 accessible_network:
328 type: MCP2::NetworkAcc
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100329 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200330 public_net_id: { get_param: public_net_id }
Oleh Hryhorov07081d92020-06-30 16:19:29 +0300331 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienkob9e69d02021-03-19 10:09:52 +0200332 dns_nameservers: { get_param: dns_nameservers }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100333
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200334 tun_network:
335 type: MCP2::NetworkTun
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400336 properties:
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200337 tun_network_cidr: { get_param: tun_network_cidr }
338 tun_network_pool_start: { get_param: tun_network_pool_start }
339 tun_network_pool_end: { get_param: tun_network_pool_end }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400340
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100341 private_floating_network:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200342 type: MCP2::NetworkPrvFl
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100343 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200344 private_floating_network_cidr: { get_param: private_floating_network_cidr }
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +0200345 private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start }
Oleh Hryhorov7b0157d2020-02-27 18:20:11 +0200346 private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end }
Sergey Matov0709c762020-04-02 14:30:50 +0400347 private_floating_network_gateway: {get_param: private_floating_network_gateway}
348 control_network_vsrx_peering_ip: {get_param: control_network_vsrx_peering_ip}
349 accessible_network: { get_attr: [accessible_network, public_network]}
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400350 data_network_vsrx_ip: { get_param: data_network_vsrx_ip }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200351 tun_network: { get_attr: [tun_network, tun_network_id] }
Vasyl Saienko6a6c9f02021-02-08 09:54:29 +0200352 vsrx_image: { get_param: vsrx_image }
353 vsrx_flavor: { get_param: vsrx_flavor }
Mikhail Polenchuk3cf123d2021-03-12 14:23:24 +0000354 public_net_id: { get_param: public_net_id }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100355
Mateusz Lose2ad0772020-02-27 21:41:54 +0100356 storage_network:
357 type: MCP2::NetworkAccStorage
358 properties:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100359 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200360 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Mateusz Lose2ad0772020-02-27 21:41:54 +0100361
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300362 ironic_baremetal_network:
363 type: MCP2::NetworkIronicFlat
364 properties:
365 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
366 ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
367 ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
368 ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
369
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100370 ucp:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100371 depends_on:
372 - accessible_network
373 - storage_network
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200374 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100375 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200376 metadata: { get_param: ucp_metadata}
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200377 docker_ee_url: { get_param: docker_ee_url }
378 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienkob59853e2020-05-25 10:15:26 +0300379 docker_ucp_image: { get_param: docker_ucp_image}
Vasyl Saienkocfbedc72021-02-15 18:02:56 +0200380 docker_ucp_swarm_data_port: { get_param: docker_ucp_swarm_data_port }
Stepan Rogov60bc3522020-12-16 17:43:25 +0300381 docker_default_address_pool: { get_param: docker_default_address_pool }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200382 node_type: "ucp"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200383 key_name: { get_attr: [keypair_name, value] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200384 image: { get_param: image }
385 flavor: { get_param: ucp_flavor }
386 accessible_network: { get_attr: [accessible_network, public_network] }
387 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
388 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
389 private_floating_interface: { get_param: private_floating_interface }
390 private_floating_network_cidr: { get_param: private_floating_network_cidr }
391 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
392 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200393 control_network_cidr: { get_param: control_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200394 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200395 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorov43bbc8c2020-12-03 15:30:09 +0200396 single_node: { get_param: single_node}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200397
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100398 masters:
399 type: OS::Heat::ResourceGroup
400 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200401 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100402 properties:
403 count: { get_param: masters_size }
404 resource_def:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200405 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100406 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200407 metadata: { get_param: master_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200408 node_type: "master"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200409 key_name: { get_attr: [keypair_name, value] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200410 image: { get_param: image }
411 flavor: { get_param: masters_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200412 docker_ee_url: { get_param: docker_ee_url }
413 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300414 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300415 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200416 accessible_network: { get_attr: [accessible_network, public_network] }
417 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
418 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
419 private_floating_interface: { get_param: private_floating_interface }
420 private_floating_network_cidr: { get_param: private_floating_network_cidr }
421 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
422 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200423 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200424 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200425 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200426 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200427
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100428 workers:
429 type: OS::Heat::ResourceGroup
430 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200431 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100432 properties:
433 count: { get_param: worker_size }
434 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200435 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100436 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200437 metadata: { get_param: worker_metadata}
438 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200439 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100440 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200441 flavor: { get_param: workers_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200442 docker_ee_url: { get_param: docker_ee_url }
443 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300444 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300445 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200446 accessible_network: { get_attr: [accessible_network, public_network] }
447 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
448 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
449 private_floating_interface: { get_param: private_floating_interface }
450 private_floating_network_cidr: { get_param: private_floating_network_cidr }
451 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100452 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200453 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200454 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200455 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200456 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200457 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
458 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
459 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200460 storage_backend_interface: { get_param: storage_backend_interface }
461 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
462 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
463 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300464 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
465 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300466 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400467 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
468 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400469 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200470 tun_network: { get_attr: [tun_network, tun_network_id] }
471 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200472 hardware_metadata: { get_param: hardware_metadata}
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200473 lvm_loop_device_size: { get_param: cmp_lvm_loop_device_size }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200474
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100475 cmps:
476 type: OS::Heat::ResourceGroup
477 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200478 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100479 properties:
480 count: { get_param: cmp_size }
481 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200482 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100483 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200484 metadata: { get_param: cmp_metadata }
485 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200486 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100487 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200488 flavor: { get_param: cmps_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200489 docker_ee_url: { get_param: docker_ee_url }
490 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300491 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300492 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200493 accessible_network: { get_attr: [accessible_network, public_network] }
494 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
495 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
496 private_floating_interface: { get_param: private_floating_interface }
497 private_floating_network_cidr: { get_param: private_floating_network_cidr }
498 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100499 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200500 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200501 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200502 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200503 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200504 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
505 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
506 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200507 storage_backend_interface: { get_param: storage_backend_interface }
508 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
509 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
510 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300511 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
512 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300513 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400514 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
515 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400516 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200517 tun_network: { get_attr: [tun_network, tun_network_id] }
518 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200519 hardware_metadata: { get_param: hardware_metadata}
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200520 lvm_loop_device_size: { get_param: cmp_lvm_loop_device_size }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200521
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200522 acmps:
523 type: OS::Heat::ResourceGroup
524 depends_on:
525 - ucp
526 properties:
527 count: { get_param: acmp_size }
528 resource_def:
529 type: MCP2::SrvInstancesCephOSD
530 properties:
531 metadata: { get_param: acmp_metadata }
532 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200533 key_name: { get_attr: [keypair_name, value] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200534 image: { get_param: image }
535 flavor: { get_param: acmps_flavor }
536 docker_ee_url: { get_param: docker_ee_url }
537 docker_ee_release: { get_param: docker_ee_release }
538 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300539 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200540 accessible_network: { get_attr: [accessible_network, public_network] }
541 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
542 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
543 private_floating_interface: { get_param: private_floating_interface }
544 private_floating_network_cidr: { get_param: private_floating_network_cidr }
545 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
546 public_net_id: { get_param: public_net_id }
547 control_network_cidr: { get_param: control_network_cidr }
548 ucp_master_host: { get_attr: [ucp, server_private_ip] }
549 functions_override: { get_param: functions_override }
550 storage_frontend_interface: { get_param: storage_frontend_interface }
551 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
552 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
553 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
554 storage_backend_interface: { get_param: storage_backend_interface }
555 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
556 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
557 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
558 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
559 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
560 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
561 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
562 ironic_mt_enabled: { get_param: ironic_mt_enabled }
563 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200564 tun_network: { get_attr: [tun_network, tun_network_id] }
565 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200566 hardware_metadata: { get_param: hardware_metadata}
Mykyta Karpin6a153c52020-11-03 15:21:38 +0200567 huge_pages: { get_param: huge_pages }
Oleksii Grudev4e3c8b42021-03-02 19:02:45 +0200568 lvm_loop_device_size: { get_param: acmp_lvm_loop_device_size }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200569
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100570 gtws:
571 type: OS::Heat::ResourceGroup
572 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200573 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100574 properties:
575 count: { get_param: gtw_size }
576 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200577 type: MCP2::SrvInstancesCeph
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100578 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200579 metadata: { get_param: gtw_metadata }
580 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200581 key_name: { get_attr: [keypair_name, value] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100582 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200583 flavor: { get_param: gtws_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200584 docker_ee_url: { get_param: docker_ee_url }
585 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300586 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300587 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200588 accessible_network: { get_attr: [accessible_network, public_network] }
589 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
590 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
591 private_floating_interface: { get_param: private_floating_interface }
592 private_floating_network_cidr: { get_param: private_floating_network_cidr }
593 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100594 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200595 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200596 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200597 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200598 storage_frontend_interface: { get_param: storage_frontend_interface }
599 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
600 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
601 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300602 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
603 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300604 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400605 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
606 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200607 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100608
sgudzb94b4c62020-02-05 13:21:25 +0200609 lmas:
610 type: OS::Heat::ResourceGroup
611 depends_on:
612 - ucp
613 properties:
614 count: { get_param: lma_size }
615 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100616 type: MCP2::SrvInstancesCeph
sgudzb94b4c62020-02-05 13:21:25 +0200617 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200618 metadata: { get_param: lma_metadata }
619 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200620 key_name: { get_attr: [keypair_name, value] }
sgudzb94b4c62020-02-05 13:21:25 +0200621 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200622 flavor: { get_param: lmas_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200623 docker_ee_url: { get_param: docker_ee_url }
624 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300625 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300626 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200627 accessible_network: { get_attr: [accessible_network, public_network] }
628 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
629 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
630 private_floating_interface: { get_param: private_floating_interface }
631 private_floating_network_cidr: { get_param: private_floating_network_cidr }
632 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200633 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200634 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200635 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200636 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200637 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200638 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
639 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
640 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300641 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
642 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300643 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400644 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
645 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200646 hardware_metadata: { get_param: hardware_metadata}
sgudzb94b4c62020-02-05 13:21:25 +0200647
648 osds:
649 type: OS::Heat::ResourceGroup
650 depends_on:
651 - ucp
652 properties:
653 count: { get_param: osd_size }
654 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100655 type: MCP2::SrvInstancesCephOSD
sgudzb94b4c62020-02-05 13:21:25 +0200656 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200657 metadata: { get_param: osd_metadata }
658 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200659 key_name: { get_attr: [keypair_name, value] }
sgudzb94b4c62020-02-05 13:21:25 +0200660 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200661 flavor: { get_param: osds_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200662 docker_ee_url: { get_param: docker_ee_url }
663 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300664 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300665 docker_default_address_pool: { get_param: docker_default_address_pool }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200666 accessible_network: { get_attr: [accessible_network, public_network] }
667 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
668 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
669 private_floating_interface: { get_param: private_floating_interface }
670 private_floating_network_cidr: { get_param: private_floating_network_cidr }
671 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200672 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200673 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200674 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200675 functions_override: { get_param: functions_override }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200676 storage_frontend_interface: { get_param: storage_frontend_interface }
677 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
678 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
679 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
680 storage_backend_interface: { get_param: storage_backend_interface }
681 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
682 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
683 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300684 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
685 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300686 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400687 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
688 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400689 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200690 tun_network: { get_attr: [tun_network, tun_network_id] }
691 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200692 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100693
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200694 frrs: # spares for osds/cmps
695 type: OS::Heat::ResourceGroup
696 depends_on:
697 - ucp
698 properties:
699 count: { get_param: frr_size }
700 resource_def:
701 type: MCP2::SrvInstancesCephOSD
702 properties:
703 metadata: { get_param: frr_metadata }
704 node_type: "frr"
705 key_name: { get_attr: [keypair_name, value] }
706 image: { get_param: image }
707 flavor: { get_param: frrs_flavor }
708 docker_ee_url: { get_param: docker_ee_url }
709 docker_ee_release: { get_param: docker_ee_release }
710 docker_ucp_image: { get_param: docker_ucp_image}
711 docker_default_address_pool: { get_param: docker_default_address_pool }
712 accessible_network: { get_attr: [accessible_network, public_network] }
713 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
714 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
715 private_floating_interface: { get_param: private_floating_interface }
716 private_floating_network_cidr: { get_param: private_floating_network_cidr }
717 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
718 public_net_id: { get_param: public_net_id }
719 control_network_cidr: { get_param: control_network_cidr }
720 ucp_master_host: { get_attr: [ucp, server_private_ip] }
721 functions_override: { get_param: functions_override }
722 storage_frontend_interface: { get_param: storage_frontend_interface }
723 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
724 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
725 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
726 storage_backend_interface: { get_param: storage_backend_interface }
727 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
728 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
729 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
730 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
731 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
732 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
733 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
734 ironic_mt_enabled: { get_param: ironic_mt_enabled }
735 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
736 tun_network: { get_attr: [tun_network, tun_network_id] }
737 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
738 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko846c6342021-02-24 17:01:36 +0200739 frr_bgp_neighbors: { list_join: [',', {get_attr: [workers, server_tun_ip]}] }
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200740
Dennis Dmitrievea894212020-03-12 21:36:43 +0200741 spares: # spares for osds/cmps
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200742 type: OS::Heat::ResourceGroup
743 depends_on:
744 - ucp
745 properties:
746 count: { get_param: spare_size }
747 resource_def:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200748 type: MCP2::SrvInstancesCephOSD
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200749 properties:
750 metadata: { get_param: spare_metadata }
751 node_type: "spare"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200752 key_name: { get_attr: [keypair_name, value] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200753 image: { get_param: image }
754 flavor: { get_param: spares_flavor }
755 docker_ee_url: { get_param: docker_ee_url }
756 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300757 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300758 docker_default_address_pool: { get_param: docker_default_address_pool }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200759 accessible_network: { get_attr: [accessible_network, public_network] }
760 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
761 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
762 private_floating_interface: { get_param: private_floating_interface }
763 private_floating_network_cidr: { get_param: private_floating_network_cidr }
764 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
765 public_net_id: { get_param: public_net_id }
766 control_network_cidr: { get_param: control_network_cidr }
767 ucp_master_host: { get_attr: [ucp, server_private_ip] }
768 functions_override: { get_param: functions_override }
769 storage_frontend_interface: { get_param: storage_frontend_interface }
770 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
771 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
772 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Dennis Dmitrievea894212020-03-12 21:36:43 +0200773 storage_backend_interface: { get_param: storage_backend_interface }
774 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
775 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
776 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300777 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
778 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300779 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400780 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
781 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Anton Samoylovea0b23e2020-06-26 14:17:51 +0400782 tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
Oleh Hryhorove7feab42020-11-11 18:00:29 +0200783 tun_network: { get_attr: [tun_network, tun_network_id] }
784 tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200785 hardware_metadata: { get_param: hardware_metadata}
786
sgudz43eb82b2020-02-11 16:36:48 +0200787 ntws:
788 type: OS::Heat::ResourceGroup
789 depends_on:
790 - ucp
791 properties:
792 count: { get_param: ntw_size }
793 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200794 type: MCP2::SrvInstancesCeph
sgudz43eb82b2020-02-11 16:36:48 +0200795 properties:
796 metadata: { get_param: ntw_metadata }
797 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200798 key_name: { get_attr: [keypair_name, value] }
sgudz43eb82b2020-02-11 16:36:48 +0200799 image: { get_param: image }
800 flavor: { get_param: ntws_flavor }
801 docker_ee_url: { get_param: docker_ee_url }
802 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300803 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300804 docker_default_address_pool: { get_param: docker_default_address_pool }
sgudz43eb82b2020-02-11 16:36:48 +0200805 accessible_network: { get_attr: [accessible_network, public_network] }
806 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
807 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
808 private_floating_interface: { get_param: private_floating_interface }
809 private_floating_network_cidr: { get_param: private_floating_network_cidr }
810 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
811 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200812 control_network_cidr: { get_param: control_network_cidr }
sgudz43eb82b2020-02-11 16:36:48 +0200813 ucp_master_host: { get_attr: [ucp, server_private_ip] }
814 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200815 storage_frontend_interface: { get_param: storage_frontend_interface }
816 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
817 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
818 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300819 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
820 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300821 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400822 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
823 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200824 hardware_metadata: { get_param: hardware_metadata}
sgudz43eb82b2020-02-11 16:36:48 +0200825
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300826 vbmcs:
827 type: OS::Heat::ResourceGroup
828 depends_on:
829 - ucp
830 properties:
831 count: { get_param: vbmc_size }
832 resource_def:
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400833 type: MCP2::SrvInstancesCeph
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300834 properties:
835 metadata: { get_param: vbmc_metadata}
836 node_type: "worker"
Vasyl Saienkodef50442020-11-20 20:06:15 +0200837 key_name: { get_attr: [keypair_name, value] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300838 image: { get_param: image }
839 flavor: { get_param: vbmcs_flavor }
840 docker_ee_url: { get_param: docker_ee_url }
841 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko84ee4fd2020-09-02 10:00:18 +0300842 docker_ucp_image: { get_param: docker_ucp_image}
Stepan Rogov60bc3522020-12-16 17:43:25 +0300843 docker_default_address_pool: { get_param: docker_default_address_pool }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300844 accessible_network: { get_attr: [accessible_network, public_network] }
845 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
846 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
847 private_floating_interface: { get_param: private_floating_interface }
848 private_floating_network_cidr: { get_param: private_floating_network_cidr }
849 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
850 public_net_id: { get_param: public_net_id }
851 control_network_cidr: { get_param: control_network_cidr }
852 ucp_master_host: { get_attr: [ucp, server_private_ip] }
853 functions_override: { get_param: functions_override }
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400854 storage_frontend_interface: { get_param: storage_frontend_interface }
855 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
856 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
857 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Michael Polenchuk21493b32020-05-15 21:08:04 +0400858 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
859 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300860 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400861 ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
862 ironic_mt_enabled: { get_param: ironic_mt_enabled }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300863 hardware_metadata: { get_param: hardware_metadata}
864
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100865outputs:
866 ucp_ips:
867 description: Private IP addresses of the deployed ucp instances
868 value: { get_attr: [ucp, server_public_ip] }
869 masters_ips:
870 description: Private IP addresses of the deployed masters instances
871 value: { get_attr: [masters, server_public_ip] }
872 workers_ips:
873 description: Private IP addresses of the deployed worker instances
874 value: { get_attr: [workers, server_public_ip] }
875 cmps_ips:
876 description: Private IP addresses of the deployed cmp instances
877 value: { get_attr: [cmps, server_public_ip] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200878 acmps_ips:
879 description: Private IP addresses of the deployed cmp instances with high computing features
880 value: { get_attr: [acmps, server_public_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100881 gtws_ips:
882 description: Private IP addresses of the deployed gtw instances
883 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200884 lmas_ips:
885 description: Private IP addresses of the deployed lma instances
886 value: { get_attr: [lmas, server_public_ip] }
887 osds_ips:
888 description: Private IP addresses of the deployed osd instances
889 value: { get_attr: [osds, server_public_ip] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200890 spares_ips:
891 description: Private IP addresses of the deployed spare instances
892 value: { get_attr: [spares, server_public_ip] }
sgudz43eb82b2020-02-11 16:36:48 +0200893 ntws_ips:
894 description: Private IP addresses of the deployed contrail instances
895 value: { get_attr: [ntws, server_public_ip] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300896 vbmcs_ips:
897 description: Private IP addresses of the deployed virtualbmcs instances
898 value: { get_attr: [vbmcs, server_public_ip] }
Vasyl Saienko4e3f4632020-05-26 14:43:09 +0300899 vbmc_ironic_baremetal_ips:
900 description: The IPs of ironic baremetal network assigned to vbmc hosts.
901 value: { get_attr: [vbmcs, server_ironic_baremetal_ip] }
Vasyl Saienko25bb75b2021-02-15 12:22:33 +0200902 frrs_ips:
903 description: Private IP addresses of the deployed FRR instances
904 value: { get_attr: [frrs, server_public_ip] }
905 frrs_tunnel_ips:
906 description: The tunnel IPs of FRR nodes
Michael Polenchuk2a770942021-03-04 18:01:17 +0400907 value: { get_attr: [frrs, server_tun_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200908 worker_private_floating_ips:
909 description: IPs might be used as gateway
Oleh Hryhorovcd1a3bd2020-12-04 13:21:06 +0200910 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 +0200911 private_floating_cidr:
912 value: { get_param: private_floating_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200913 private_floating_network_pool_start:
914 value: { get_param: private_floating_network_pool_start }
915 private_floating_network_pool_end:
916 value: { get_param: private_floating_network_pool_end }
917 private_floating_network_gateway:
918 value: { get_param: private_floating_network_gateway }
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300919 private_floating_network_interface:
920 value: { get_param: private_floating_network_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300921 ironic_baremetal_network_pool_start:
922 value: { get_param: ironic_baremetal_network_pool_start }
923 ironic_baremetal_network_pool_end:
924 value: { get_param: ironic_baremetal_network_pool_end }
Mykyta Karpin832e9f82021-02-18 14:55:27 +0200925 ironic_baremetal_network_gateway:
926 value: { get_param: ironic_baremetal_network_gateway }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300927 ironic_baremetal_network_interface:
928 value: { get_param: ironic_baremetal_network_interface }
Vasyl Saienko1233afd2020-05-21 14:55:21 +0300929 ironic_baremetal_network_vbmc_interface:
930 value: { get_param: ironic_baremetal_network_vbmc_interface }
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300931 ironic_baremetal_provisioning_interface:
932 value: { get_param: ironic_baremetal_provisioning_interface }
Michael Polenchuk486cadf2020-08-24 16:25:51 +0400933 ironic_baremetal_pxe_interface:
934 value: { get_param: ironic_baremetal_pxe_interface }
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200935 tunnel_interface:
936 value: { get_param: tunnel_interface }
937 live_migration_interface:
938 value: { get_param: live_migration_interface }
939 metallb_address_pools:
940 value: { get_param: metallb_address_pools }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200941 ucp_wc_data:
942 description: Metadata from ucp
943 value: { get_attr: [ucp, wc_data] }
944 masters_wc_data:
945 description: Metadata from masters
946 value: { get_attr: [masters, wc_data] }
947 workers_wc_data:
948 description: Metadata from workers
949 value: { get_attr: [workers, wc_data] }
950 cmps_wc_data:
951 description: Metadata from cmps
952 value: { get_attr: [cmps, wc_data] }
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200953 acmps_wc_data:
954 description: Metadata from cmps with high computing features
955 value: { get_attr: [acmps, wc_data] }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200956 gtws_wc_data:
957 description: Metadata from gtws
958 value: { get_attr: [gtws, wc_data] }
959 lmas_wc_data:
960 description: Metadata from lmas
961 value: { get_attr: [lmas, wc_data] }
962 osds_wc_data:
963 description: Metadata from osds
964 value: { get_attr: [osds, wc_data] }
965 ntws_wc_data:
966 description: Metadata from ntws
967 value: { get_attr: [ntws, wc_data] }
Oleh Hryhorov564a1202020-03-12 12:44:56 +0200968 storage_frontend_network_cidr:
969 description: Storage network which is used as clientNet in Ceph CR
970 value: { get_param: storage_frontend_network_cidr }
971 storage_backend_network_cidr:
972 description: Storage network which is used as clusterNet in Ceph CR
973 value: { get_param: storage_backend_network_cidr }
Anton Samoylov474029a2020-09-03 11:02:01 +0400974 tungstenfabric_enabled:
975 value: { get_param: tungstenfabric_enabled }
976 data_network_vsrx_ip:
977 description: IP address of vsrx in tungsten fabric data network
Oleksii Grudev6cc5ad92020-10-30 10:58:11 +0200978 value: { get_param: data_network_vsrx_ip }
Mikhail Polenchuk3cf123d2021-03-12 14:23:24 +0000979 public_network_vsrx_ip:
980 description: IP address of vsrx in tungsten fabric public network
981 value: { get_attr: [private_floating_network, server_public_ip] }