blob: 8a8b388527f4c5f2c31eb886109238dbb8ede0f6 [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 Saienko0fa6f192020-03-06 16:08:51 +020013 control_network_cidr:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +020014 type: string
Vasyl Saienko0fa6f192020-03-06 16:08:51 +020015 description: The CIDR of control network, used to detect control interface.
16 default: '10.10.0.0/24'
Sergey Matov0709c762020-04-02 14:30:50 +040017 control_network_vsrx_peering_ip:
18 type: string
19 description: IP address of vsrx for tungsten fabric peering
20 default: ''
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010021 masters_size:
22 type: number
23 description: Number of masters instances to deploy
24 default: 2
25 worker_size:
26 type: number
27 description: Number of workers to deploy
28 default: 5
29 cmp_size:
30 type: number
31 description: Number of cmp workers to deploy
32 default: 0
33 gtw_size:
34 type: number
35 description: Number of gtw workers to deploy
36 default: 0
sgudzb94b4c62020-02-05 13:21:25 +020037 lma_size:
38 type: number
39 description: Number of gtw workers to deploy
40 default: 0
41 osd_size:
42 type: number
43 description: Number of gtw workers to deploy
44 default: 0
Dennis Dmitriev81da4222020-02-25 17:53:04 +020045 spare_size:
46 type: number
47 description: Number of gtw workers to deploy
48 default: 0
sgudz43eb82b2020-02-11 16:36:48 +020049 ntw_size:
50 type: number
51 description: Number of contrail nodes to deploy
52 default: 0
Vasyl Saienko36f2edf2020-05-14 10:44:52 +030053 vbmc_size:
54 type: number
55 description: Number of nodes for virtualbmc BM node simulator
56 default: 0
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010057 ucp_boot_timeout:
58 type: number
59 description: Boot timeout for UCP instance
Vasyl Saienkof36f39c2020-03-10 00:21:42 +020060 default: 3600
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010061 cluster_public_key:
62 type: string
Oleh Hryhorov0019f592020-01-23 11:50:12 +020063 private_floating_network_cidr:
64 type: string
65 default: '10.11.12.0/24'
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +020066 private_floating_network_ipam_pool_start:
67 type: string
68 description: pool start which is used as pool for IPAM and assigned to instances port
69 default: '10.11.12.2'
70 private_floating_network_ipam_pool_end:
71 type: string
72 description: pool end which is used as pool for IPAM and assigned to instances port
73 default: '10.11.12.99'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +020074 private_floating_network_pool_start:
75 type: string
76 default: '10.11.12.100'
77 private_floating_network_pool_end:
78 type: string
79 default: '10.11.12.200'
80 private_floating_network_gateway:
81 type: string
Oleh Hryhorovd3a30242020-02-11 15:24:01 +020082 default: ''
Vasyl Saienkoc943f432020-04-21 12:15:57 +030083 private_floating_network_interface:
84 type: string
85 default: 'veth-phy'
86 description: 'The name of interface that should be added to external neutron bridge for floating network.'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +020087 private_floating_interface:
88 description: Interface which carries floating network for child OpenStack.
89 type: string
Mateusz Lose2ad0772020-02-27 21:41:54 +010090 storage_frontend_network_cidr:
91 type: string
92 default: '10.12.0.0/24'
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +020093 storage_frontend_interface:
94 type: string
95 default: 'ens5'
96 storage_backend_network_cidr:
97 type: string
98 default: '10.11.0.0/24'
99 storage_backend_interface:
100 type: string
101 default: 'ens6'
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300102 ironic_baremetal_network_cidr:
103 type: string
104 default: '10.13.0.0/24'
105 ironic_baremetal_network_ipam_pool_start:
106 type: string
107 default: '10.13.0.2'
108 ironic_baremetal_network_ipam_pool_end:
109 type: string
110 default: '10.13.0.99'
111 ironic_baremetal_network_pool_start:
112 type: string
113 default: '10.13.0.100'
114 ironic_baremetal_network_pool_end:
115 type: string
116 default: '10.13.0.200'
117 ironic_baremetal_network_gateway:
118 type: string
119 default: ''
Vasyl Saienko4c468192020-05-19 11:51:13 +0300120 ironic_baremetal_network_interface:
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300121 type: string
Vasyl Saienko4c468192020-05-19 11:51:13 +0300122 default: 'veth-bm'
123 description: 'The name of interface that should be added to ovs bridge with taps from vbms VMs.'
Dennis Dmitrievea894212020-03-12 21:36:43 +0200124 ucp_metadata:
125 type: json
126 default: {"role":"ucp"}
127 master_metadata:
128 type: json
129 default: {"role":"master"}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100130 worker_metadata:
131 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200132 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100133 cmp_metadata:
134 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200135 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100136 gtw_metadata:
137 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200138 default: {}
139 lma_metadata:
140 type: json
141 default: {}
142 osd_metadata:
143 type: json
144 default: {}
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200145 spare_metadata:
146 type: json
147 default: {}
sgudz43eb82b2020-02-11 16:36:48 +0200148 ntw_metadata:
149 type: json
150 default: {}
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300151 vbmc_metadata:
152 type: json
153 default: {}
sgudzfe58e8a2020-02-11 13:31:40 +0200154 ucp_flavor:
155 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300156 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200157 masters_flavor:
158 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300159 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200160 workers_flavor:
161 type: string
162 default: 'system.compact.openstack.control'
163 cmps_flavor:
164 type: string
165 default: 'system.compact.openstack.control'
166 gtws_flavor:
167 type: string
168 default: 'system.compact.openstack.control'
169 lmas_flavor:
170 type: string
171 default: 'system.compact.openstack.control'
172 osds_flavor:
173 type: string
Mateusz Lose2ad0772020-02-27 21:41:54 +0100174 default: 'system.virtual.ceph.osd'
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200175 spares_flavor:
176 type: string
177 default: 'system.compact.openstack.control'
sgudz43eb82b2020-02-11 16:36:48 +0200178 ntws_flavor:
179 type: string
180 default: 'system.compact.openstack.control'
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300181 vbmcs_flavor:
182 type: string
183 default: 'system.compact.openstack.control'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200184 functions_override:
185 type: string
Vasyl Saienko9b688992020-02-13 13:50:53 +0200186 default: ''
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200187 docker_ee_url:
188 type: string
Vasyl Saienko1785c352020-03-11 11:39:40 +0200189 default: 'http://mirror-us.mcp.mirantis.net/.snapshots/docker-ee-bionic-latest'
190# default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux/ubuntu'
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200191 docker_ee_release:
192 type: string
193 default: 'stable-19.03'
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200194 tunnel_interface:
195 type: string
196 default: ''
197 live_migration_interface:
198 type: string
199 default: ''
200 metallb_address_pools:
201 type: comma_delimited_list
202 default: ''
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200203 hardware_metadata:
204 description: The content of lab metadata.
205 default: ''
206 type: string
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100207
208resources:
209 key_pair:
210 type: OS::Nova::KeyPair
211 properties:
212 name: { get_param: "OS::stack_name" }
213 public_key: { get_param: cluster_public_key}
214 save_private_key: false
215
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200216 accessible_network:
217 type: MCP2::NetworkAcc
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100218 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200219 public_net_id: { get_param: public_net_id }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100220
221 private_floating_network:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200222 type: MCP2::NetworkPrvFl
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100223 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200224 private_floating_network_cidr: { get_param: private_floating_network_cidr }
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +0200225 private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start }
Oleh Hryhorov7b0157d2020-02-27 18:20:11 +0200226 private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end }
Sergey Matov0709c762020-04-02 14:30:50 +0400227 private_floating_network_gateway: {get_param: private_floating_network_gateway}
228 control_network_vsrx_peering_ip: {get_param: control_network_vsrx_peering_ip}
229 accessible_network: { get_attr: [accessible_network, public_network]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100230
Mateusz Lose2ad0772020-02-27 21:41:54 +0100231 storage_network:
232 type: MCP2::NetworkAccStorage
233 properties:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100234 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200235 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Mateusz Lose2ad0772020-02-27 21:41:54 +0100236
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300237 ironic_baremetal_network:
238 type: MCP2::NetworkIronicFlat
239 properties:
240 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
241 ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
242 ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
243 ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
244
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100245 ucp:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100246 depends_on:
247 - accessible_network
248 - storage_network
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200249 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100250 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200251 metadata: { get_param: ucp_metadata}
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200252 docker_ee_url: { get_param: docker_ee_url }
253 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200254 node_type: "ucp"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200255 key_name: { get_param: "OS::stack_name" }
256 image: { get_param: image }
257 flavor: { get_param: ucp_flavor }
258 accessible_network: { get_attr: [accessible_network, public_network] }
259 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
260 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
261 private_floating_interface: { get_param: private_floating_interface }
262 private_floating_network_cidr: { get_param: private_floating_network_cidr }
263 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
264 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200265 control_network_cidr: { get_param: control_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200266 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200267 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200268
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100269 masters:
270 type: OS::Heat::ResourceGroup
271 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200272 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100273 properties:
274 count: { get_param: masters_size }
275 resource_def:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200276 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100277 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200278 metadata: { get_param: master_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200279 node_type: "master"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200280 key_name: { get_param: "OS::stack_name" }
281 image: { get_param: image }
282 flavor: { get_param: masters_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200283 docker_ee_url: { get_param: docker_ee_url }
284 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200285 accessible_network: { get_attr: [accessible_network, public_network] }
286 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
287 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
288 private_floating_interface: { get_param: private_floating_interface }
289 private_floating_network_cidr: { get_param: private_floating_network_cidr }
290 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
291 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200292 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200293 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200294 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200295 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200296
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100297 workers:
298 type: OS::Heat::ResourceGroup
299 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200300 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100301 properties:
302 count: { get_param: worker_size }
303 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200304 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100305 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200306 metadata: { get_param: worker_metadata}
307 node_type: "worker"
308 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100309 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200310 flavor: { get_param: workers_flavor }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100311 key_name: { get_param: "OS::stack_name" }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200312 docker_ee_url: { get_param: docker_ee_url }
313 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200314 accessible_network: { get_attr: [accessible_network, public_network] }
315 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
316 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
317 private_floating_interface: { get_param: private_floating_interface }
318 private_floating_network_cidr: { get_param: private_floating_network_cidr }
319 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100320 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200321 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200322 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200323 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200324 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200325 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
326 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
327 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200328 storage_backend_interface: { get_param: storage_backend_interface }
329 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
330 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
331 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300332 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
333 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300334 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200335 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200336
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100337 cmps:
338 type: OS::Heat::ResourceGroup
339 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200340 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100341 properties:
342 count: { get_param: cmp_size }
343 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200344 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100345 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200346 metadata: { get_param: cmp_metadata }
347 node_type: "worker"
348 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100349 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200350 flavor: { get_param: cmps_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200351 docker_ee_url: { get_param: docker_ee_url }
352 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200353 accessible_network: { get_attr: [accessible_network, public_network] }
354 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
355 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
356 private_floating_interface: { get_param: private_floating_interface }
357 private_floating_network_cidr: { get_param: private_floating_network_cidr }
358 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100359 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200360 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200361 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200362 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200363 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200364 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
365 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
366 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200367 storage_backend_interface: { get_param: storage_backend_interface }
368 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
369 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
370 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300371 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
372 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300373 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200374 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200375
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100376 gtws:
377 type: OS::Heat::ResourceGroup
378 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200379 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100380 properties:
381 count: { get_param: gtw_size }
382 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200383 type: MCP2::SrvInstancesCeph
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100384 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200385 metadata: { get_param: gtw_metadata }
386 node_type: "worker"
387 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100388 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200389 flavor: { get_param: gtws_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200390 docker_ee_url: { get_param: docker_ee_url }
391 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200392 accessible_network: { get_attr: [accessible_network, public_network] }
393 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
394 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
395 private_floating_interface: { get_param: private_floating_interface }
396 private_floating_network_cidr: { get_param: private_floating_network_cidr }
397 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100398 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200399 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200400 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200401 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200402 storage_frontend_interface: { get_param: storage_frontend_interface }
403 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
404 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
405 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300406 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
407 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300408 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200409 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100410
sgudzb94b4c62020-02-05 13:21:25 +0200411 lmas:
412 type: OS::Heat::ResourceGroup
413 depends_on:
414 - ucp
415 properties:
416 count: { get_param: lma_size }
417 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100418 type: MCP2::SrvInstancesCeph
sgudzb94b4c62020-02-05 13:21:25 +0200419 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200420 metadata: { get_param: lma_metadata }
421 node_type: "worker"
422 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200423 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200424 flavor: { get_param: lmas_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200425 docker_ee_url: { get_param: docker_ee_url }
426 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200427 accessible_network: { get_attr: [accessible_network, public_network] }
428 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
429 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
430 private_floating_interface: { get_param: private_floating_interface }
431 private_floating_network_cidr: { get_param: private_floating_network_cidr }
432 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200433 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200434 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200435 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200436 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200437 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200438 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
439 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
440 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300441 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
442 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300443 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200444 hardware_metadata: { get_param: hardware_metadata}
sgudzb94b4c62020-02-05 13:21:25 +0200445
446 osds:
447 type: OS::Heat::ResourceGroup
448 depends_on:
449 - ucp
450 properties:
451 count: { get_param: osd_size }
452 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100453 type: MCP2::SrvInstancesCephOSD
sgudzb94b4c62020-02-05 13:21:25 +0200454 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200455 metadata: { get_param: osd_metadata }
456 node_type: "worker"
457 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200458 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200459 flavor: { get_param: osds_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200460 docker_ee_url: { get_param: docker_ee_url }
461 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200462 accessible_network: { get_attr: [accessible_network, public_network] }
463 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
464 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
465 private_floating_interface: { get_param: private_floating_interface }
466 private_floating_network_cidr: { get_param: private_floating_network_cidr }
467 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200468 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200469 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200470 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200471 functions_override: { get_param: functions_override }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200472 storage_frontend_interface: { get_param: storage_frontend_interface }
473 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
474 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
475 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
476 storage_backend_interface: { get_param: storage_backend_interface }
477 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
478 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
479 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300480 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
481 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300482 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200483 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100484
Dennis Dmitrievea894212020-03-12 21:36:43 +0200485 spares: # spares for osds/cmps
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200486 type: OS::Heat::ResourceGroup
487 depends_on:
488 - ucp
489 properties:
490 count: { get_param: spare_size }
491 resource_def:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200492 type: MCP2::SrvInstancesCephOSD
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200493 properties:
494 metadata: { get_param: spare_metadata }
495 node_type: "spare"
496 key_name: { get_param: "OS::stack_name" }
497 image: { get_param: image }
498 flavor: { get_param: spares_flavor }
499 docker_ee_url: { get_param: docker_ee_url }
500 docker_ee_release: { get_param: docker_ee_release }
501 accessible_network: { get_attr: [accessible_network, public_network] }
502 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
503 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
504 private_floating_interface: { get_param: private_floating_interface }
505 private_floating_network_cidr: { get_param: private_floating_network_cidr }
506 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
507 public_net_id: { get_param: public_net_id }
508 control_network_cidr: { get_param: control_network_cidr }
509 ucp_master_host: { get_attr: [ucp, server_private_ip] }
510 functions_override: { get_param: functions_override }
511 storage_frontend_interface: { get_param: storage_frontend_interface }
512 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
513 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
514 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Dennis Dmitrievea894212020-03-12 21:36:43 +0200515 storage_backend_interface: { get_param: storage_backend_interface }
516 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
517 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
518 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300519 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
520 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300521 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200522 hardware_metadata: { get_param: hardware_metadata}
523
sgudz43eb82b2020-02-11 16:36:48 +0200524 ntws:
525 type: OS::Heat::ResourceGroup
526 depends_on:
527 - ucp
528 properties:
529 count: { get_param: ntw_size }
530 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200531 type: MCP2::SrvInstancesCeph
sgudz43eb82b2020-02-11 16:36:48 +0200532 properties:
533 metadata: { get_param: ntw_metadata }
534 node_type: "worker"
535 key_name: { get_param: "OS::stack_name" }
536 image: { get_param: image }
537 flavor: { get_param: ntws_flavor }
538 docker_ee_url: { get_param: docker_ee_url }
539 docker_ee_release: { get_param: docker_ee_release }
540 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 }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200547 control_network_cidr: { get_param: control_network_cidr }
sgudz43eb82b2020-02-11 16:36:48 +0200548 ucp_master_host: { get_attr: [ucp, server_private_ip] }
549 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200550 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 }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300554 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
555 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300556 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200557 hardware_metadata: { get_param: hardware_metadata}
sgudz43eb82b2020-02-11 16:36:48 +0200558
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300559 vbmcs:
560 type: OS::Heat::ResourceGroup
561 depends_on:
562 - ucp
563 properties:
564 count: { get_param: vbmc_size }
565 resource_def:
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400566 type: MCP2::SrvInstancesCeph
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300567 properties:
568 metadata: { get_param: vbmc_metadata}
569 node_type: "worker"
570 key_name: { get_param: "OS::stack_name" }
571 image: { get_param: image }
572 flavor: { get_param: vbmcs_flavor }
573 docker_ee_url: { get_param: docker_ee_url }
574 docker_ee_release: { get_param: docker_ee_release }
575 accessible_network: { get_attr: [accessible_network, public_network] }
576 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
577 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
578 private_floating_interface: { get_param: private_floating_interface }
579 private_floating_network_cidr: { get_param: private_floating_network_cidr }
580 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
581 public_net_id: { get_param: public_net_id }
582 control_network_cidr: { get_param: control_network_cidr }
583 ucp_master_host: { get_attr: [ucp, server_private_ip] }
584 functions_override: { get_param: functions_override }
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400585 storage_frontend_interface: { get_param: storage_frontend_interface }
586 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
587 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
588 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Michael Polenchuk21493b32020-05-15 21:08:04 +0400589 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
590 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300591 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300592 hardware_metadata: { get_param: hardware_metadata}
593
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100594outputs:
595 ucp_ips:
596 description: Private IP addresses of the deployed ucp instances
597 value: { get_attr: [ucp, server_public_ip] }
598 masters_ips:
599 description: Private IP addresses of the deployed masters instances
600 value: { get_attr: [masters, server_public_ip] }
601 workers_ips:
602 description: Private IP addresses of the deployed worker instances
603 value: { get_attr: [workers, server_public_ip] }
604 cmps_ips:
605 description: Private IP addresses of the deployed cmp instances
606 value: { get_attr: [cmps, server_public_ip] }
607 gtws_ips:
608 description: Private IP addresses of the deployed gtw instances
609 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200610 lmas_ips:
611 description: Private IP addresses of the deployed lma instances
612 value: { get_attr: [lmas, server_public_ip] }
613 osds_ips:
614 description: Private IP addresses of the deployed osd instances
615 value: { get_attr: [osds, server_public_ip] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200616 spares_ips:
617 description: Private IP addresses of the deployed spare instances
618 value: { get_attr: [spares, server_public_ip] }
sgudz43eb82b2020-02-11 16:36:48 +0200619 ntws_ips:
620 description: Private IP addresses of the deployed contrail instances
621 value: { get_attr: [ntws, server_public_ip] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300622 vbmcs_ips:
623 description: Private IP addresses of the deployed virtualbmcs instances
624 value: { get_attr: [vbmcs, server_public_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200625 worker_private_floating_ips:
626 description: IPs might be used as gateway
627 value: { get_attr: [workers, server_private_floating_ip] }
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200628 private_floating_cidr:
629 value: { get_param: private_floating_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200630 private_floating_network_pool_start:
631 value: { get_param: private_floating_network_pool_start }
632 private_floating_network_pool_end:
633 value: { get_param: private_floating_network_pool_end }
634 private_floating_network_gateway:
635 value: { get_param: private_floating_network_gateway }
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300636 private_floating_network_interface:
637 value: { get_param: private_floating_network_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300638 ironic_baremetal_network_pool_start:
639 value: { get_param: ironic_baremetal_network_pool_start }
640 ironic_baremetal_network_pool_end:
641 value: { get_param: ironic_baremetal_network_pool_end }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300642 ironic_baremetal_network_interface:
643 value: { get_param: ironic_baremetal_network_interface }
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200644 tunnel_interface:
645 value: { get_param: tunnel_interface }
646 live_migration_interface:
647 value: { get_param: live_migration_interface }
648 metallb_address_pools:
649 value: { get_param: metallb_address_pools }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200650 ucp_wc_data:
651 description: Metadata from ucp
652 value: { get_attr: [ucp, wc_data] }
653 masters_wc_data:
654 description: Metadata from masters
655 value: { get_attr: [masters, wc_data] }
656 workers_wc_data:
657 description: Metadata from workers
658 value: { get_attr: [workers, wc_data] }
659 cmps_wc_data:
660 description: Metadata from cmps
661 value: { get_attr: [cmps, wc_data] }
662 gtws_wc_data:
663 description: Metadata from gtws
664 value: { get_attr: [gtws, wc_data] }
665 lmas_wc_data:
666 description: Metadata from lmas
667 value: { get_attr: [lmas, wc_data] }
668 osds_wc_data:
669 description: Metadata from osds
670 value: { get_attr: [osds, wc_data] }
671 ntws_wc_data:
672 description: Metadata from ntws
673 value: { get_attr: [ntws, wc_data] }
Oleh Hryhorov564a1202020-03-12 12:44:56 +0200674 storage_frontend_network_cidr:
675 description: Storage network which is used as clientNet in Ceph CR
676 value: { get_param: storage_frontend_network_cidr }
677 storage_backend_network_cidr:
678 description: Storage network which is used as clusterNet in Ceph CR
679 value: { get_param: storage_backend_network_cidr }