blob: 34dcde728f09179757aeaa754ad31cadef1aa2c2 [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'
Vasyl Saienko1233afd2020-05-21 14:55:21 +0300123 description: 'The name of interface that should be added to ovs bridge in Neutron'
124 ironic_baremetal_network_vbmc_interface:
125 type: string
126 default: 'veth-vbmc'
127 description: 'The name of interface that should be added to ovs bridge with virtualbmc VMs.'
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300128 ironic_baremetal_provisioning_interface:
129 type: string
130 default: 'br-baremetal'
131 description: 'The name of interface on node to which IP ironic services will bind.'
Dennis Dmitrievea894212020-03-12 21:36:43 +0200132 ucp_metadata:
133 type: json
134 default: {"role":"ucp"}
135 master_metadata:
136 type: json
137 default: {"role":"master"}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100138 worker_metadata:
139 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200140 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100141 cmp_metadata:
142 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200143 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100144 gtw_metadata:
145 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200146 default: {}
147 lma_metadata:
148 type: json
149 default: {}
150 osd_metadata:
151 type: json
152 default: {}
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200153 spare_metadata:
154 type: json
155 default: {}
sgudz43eb82b2020-02-11 16:36:48 +0200156 ntw_metadata:
157 type: json
158 default: {}
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300159 vbmc_metadata:
160 type: json
161 default: {}
sgudzfe58e8a2020-02-11 13:31:40 +0200162 ucp_flavor:
163 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300164 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200165 masters_flavor:
166 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300167 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200168 workers_flavor:
169 type: string
170 default: 'system.compact.openstack.control'
171 cmps_flavor:
172 type: string
173 default: 'system.compact.openstack.control'
174 gtws_flavor:
175 type: string
176 default: 'system.compact.openstack.control'
177 lmas_flavor:
178 type: string
179 default: 'system.compact.openstack.control'
180 osds_flavor:
181 type: string
Mateusz Lose2ad0772020-02-27 21:41:54 +0100182 default: 'system.virtual.ceph.osd'
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200183 spares_flavor:
184 type: string
185 default: 'system.compact.openstack.control'
sgudz43eb82b2020-02-11 16:36:48 +0200186 ntws_flavor:
187 type: string
188 default: 'system.compact.openstack.control'
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300189 vbmcs_flavor:
190 type: string
191 default: 'system.compact.openstack.control'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200192 functions_override:
193 type: string
Vasyl Saienko9b688992020-02-13 13:50:53 +0200194 default: ''
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200195 docker_ee_url:
196 type: string
Vasyl Saienko1785c352020-03-11 11:39:40 +0200197 default: 'http://mirror-us.mcp.mirantis.net/.snapshots/docker-ee-bionic-latest'
198# default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux/ubuntu'
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200199 docker_ee_release:
200 type: string
201 default: 'stable-19.03'
Vasyl Saienkob59853e2020-05-25 10:15:26 +0300202 docker_ucp_image:
203 type: string
204 default: 'docker/ucp:3.2.4'
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200205 tunnel_interface:
206 type: string
207 default: ''
208 live_migration_interface:
209 type: string
210 default: ''
211 metallb_address_pools:
212 type: comma_delimited_list
213 default: ''
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200214 hardware_metadata:
215 description: The content of lab metadata.
216 default: ''
217 type: string
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100218
219resources:
220 key_pair:
221 type: OS::Nova::KeyPair
222 properties:
223 name: { get_param: "OS::stack_name" }
224 public_key: { get_param: cluster_public_key}
225 save_private_key: false
226
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200227 accessible_network:
228 type: MCP2::NetworkAcc
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100229 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200230 public_net_id: { get_param: public_net_id }
Oleh Hryhorov07081d92020-06-30 16:19:29 +0300231 control_network_cidr: { get_param: control_network_cidr }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100232
233 private_floating_network:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200234 type: MCP2::NetworkPrvFl
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100235 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200236 private_floating_network_cidr: { get_param: private_floating_network_cidr }
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +0200237 private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start }
Oleh Hryhorov7b0157d2020-02-27 18:20:11 +0200238 private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end }
Sergey Matov0709c762020-04-02 14:30:50 +0400239 private_floating_network_gateway: {get_param: private_floating_network_gateway}
240 control_network_vsrx_peering_ip: {get_param: control_network_vsrx_peering_ip}
241 accessible_network: { get_attr: [accessible_network, public_network]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100242
Mateusz Lose2ad0772020-02-27 21:41:54 +0100243 storage_network:
244 type: MCP2::NetworkAccStorage
245 properties:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100246 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200247 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Mateusz Lose2ad0772020-02-27 21:41:54 +0100248
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300249 ironic_baremetal_network:
250 type: MCP2::NetworkIronicFlat
251 properties:
252 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
253 ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
254 ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
255 ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
256
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100257 ucp:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100258 depends_on:
259 - accessible_network
260 - storage_network
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200261 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100262 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200263 metadata: { get_param: ucp_metadata}
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200264 docker_ee_url: { get_param: docker_ee_url }
265 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienkob59853e2020-05-25 10:15:26 +0300266 docker_ucp_image: { get_param: docker_ucp_image}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200267 node_type: "ucp"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200268 key_name: { get_param: "OS::stack_name" }
269 image: { get_param: image }
270 flavor: { get_param: ucp_flavor }
271 accessible_network: { get_attr: [accessible_network, public_network] }
272 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
273 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
274 private_floating_interface: { get_param: private_floating_interface }
275 private_floating_network_cidr: { get_param: private_floating_network_cidr }
276 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
277 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200278 control_network_cidr: { get_param: control_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200279 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200280 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200281
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100282 masters:
283 type: OS::Heat::ResourceGroup
284 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200285 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100286 properties:
287 count: { get_param: masters_size }
288 resource_def:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200289 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100290 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200291 metadata: { get_param: master_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200292 node_type: "master"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200293 key_name: { get_param: "OS::stack_name" }
294 image: { get_param: image }
295 flavor: { get_param: masters_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200296 docker_ee_url: { get_param: docker_ee_url }
297 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200298 accessible_network: { get_attr: [accessible_network, public_network] }
299 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
300 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
301 private_floating_interface: { get_param: private_floating_interface }
302 private_floating_network_cidr: { get_param: private_floating_network_cidr }
303 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
304 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200305 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200306 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200307 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200308 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200309
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100310 workers:
311 type: OS::Heat::ResourceGroup
312 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200313 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100314 properties:
315 count: { get_param: worker_size }
316 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200317 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100318 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200319 metadata: { get_param: worker_metadata}
320 node_type: "worker"
321 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100322 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200323 flavor: { get_param: workers_flavor }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100324 key_name: { get_param: "OS::stack_name" }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200325 docker_ee_url: { get_param: docker_ee_url }
326 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200327 accessible_network: { get_attr: [accessible_network, public_network] }
328 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
329 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
330 private_floating_interface: { get_param: private_floating_interface }
331 private_floating_network_cidr: { get_param: private_floating_network_cidr }
332 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100333 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200334 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200335 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200336 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200337 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200338 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
339 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
340 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200341 storage_backend_interface: { get_param: storage_backend_interface }
342 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
343 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
344 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300345 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
346 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300347 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200348 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200349
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100350 cmps:
351 type: OS::Heat::ResourceGroup
352 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200353 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100354 properties:
355 count: { get_param: cmp_size }
356 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200357 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100358 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200359 metadata: { get_param: cmp_metadata }
360 node_type: "worker"
361 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100362 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200363 flavor: { get_param: cmps_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200364 docker_ee_url: { get_param: docker_ee_url }
365 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200366 accessible_network: { get_attr: [accessible_network, public_network] }
367 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
368 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
369 private_floating_interface: { get_param: private_floating_interface }
370 private_floating_network_cidr: { get_param: private_floating_network_cidr }
371 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100372 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200373 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200374 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200375 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200376 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200377 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
378 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
379 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200380 storage_backend_interface: { get_param: storage_backend_interface }
381 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
382 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
383 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300384 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
385 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300386 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200387 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200388
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100389 gtws:
390 type: OS::Heat::ResourceGroup
391 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200392 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100393 properties:
394 count: { get_param: gtw_size }
395 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200396 type: MCP2::SrvInstancesCeph
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100397 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200398 metadata: { get_param: gtw_metadata }
399 node_type: "worker"
400 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100401 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200402 flavor: { get_param: gtws_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200403 docker_ee_url: { get_param: docker_ee_url }
404 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200405 accessible_network: { get_attr: [accessible_network, public_network] }
406 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
407 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
408 private_floating_interface: { get_param: private_floating_interface }
409 private_floating_network_cidr: { get_param: private_floating_network_cidr }
410 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100411 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200412 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200413 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200414 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200415 storage_frontend_interface: { get_param: storage_frontend_interface }
416 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
417 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
418 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300419 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
420 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300421 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200422 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100423
sgudzb94b4c62020-02-05 13:21:25 +0200424 lmas:
425 type: OS::Heat::ResourceGroup
426 depends_on:
427 - ucp
428 properties:
429 count: { get_param: lma_size }
430 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100431 type: MCP2::SrvInstancesCeph
sgudzb94b4c62020-02-05 13:21:25 +0200432 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200433 metadata: { get_param: lma_metadata }
434 node_type: "worker"
435 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200436 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200437 flavor: { get_param: lmas_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200438 docker_ee_url: { get_param: docker_ee_url }
439 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200440 accessible_network: { get_attr: [accessible_network, public_network] }
441 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
442 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
443 private_floating_interface: { get_param: private_floating_interface }
444 private_floating_network_cidr: { get_param: private_floating_network_cidr }
445 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200446 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200447 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200448 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200449 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200450 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200451 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
452 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
453 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300454 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
455 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300456 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200457 hardware_metadata: { get_param: hardware_metadata}
sgudzb94b4c62020-02-05 13:21:25 +0200458
459 osds:
460 type: OS::Heat::ResourceGroup
461 depends_on:
462 - ucp
463 properties:
464 count: { get_param: osd_size }
465 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100466 type: MCP2::SrvInstancesCephOSD
sgudzb94b4c62020-02-05 13:21:25 +0200467 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200468 metadata: { get_param: osd_metadata }
469 node_type: "worker"
470 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200471 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200472 flavor: { get_param: osds_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200473 docker_ee_url: { get_param: docker_ee_url }
474 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200475 accessible_network: { get_attr: [accessible_network, public_network] }
476 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
477 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
478 private_floating_interface: { get_param: private_floating_interface }
479 private_floating_network_cidr: { get_param: private_floating_network_cidr }
480 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200481 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200482 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200483 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200484 functions_override: { get_param: functions_override }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200485 storage_frontend_interface: { get_param: storage_frontend_interface }
486 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
487 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
488 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
489 storage_backend_interface: { get_param: storage_backend_interface }
490 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
491 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
492 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300493 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
494 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300495 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200496 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100497
Dennis Dmitrievea894212020-03-12 21:36:43 +0200498 spares: # spares for osds/cmps
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200499 type: OS::Heat::ResourceGroup
500 depends_on:
501 - ucp
502 properties:
503 count: { get_param: spare_size }
504 resource_def:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200505 type: MCP2::SrvInstancesCephOSD
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200506 properties:
507 metadata: { get_param: spare_metadata }
508 node_type: "spare"
509 key_name: { get_param: "OS::stack_name" }
510 image: { get_param: image }
511 flavor: { get_param: spares_flavor }
512 docker_ee_url: { get_param: docker_ee_url }
513 docker_ee_release: { get_param: docker_ee_release }
514 accessible_network: { get_attr: [accessible_network, public_network] }
515 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
516 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
517 private_floating_interface: { get_param: private_floating_interface }
518 private_floating_network_cidr: { get_param: private_floating_network_cidr }
519 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
520 public_net_id: { get_param: public_net_id }
521 control_network_cidr: { get_param: control_network_cidr }
522 ucp_master_host: { get_attr: [ucp, server_private_ip] }
523 functions_override: { get_param: functions_override }
524 storage_frontend_interface: { get_param: storage_frontend_interface }
525 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
526 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
527 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Dennis Dmitrievea894212020-03-12 21:36:43 +0200528 storage_backend_interface: { get_param: storage_backend_interface }
529 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
530 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
531 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300532 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
533 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300534 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200535 hardware_metadata: { get_param: hardware_metadata}
536
sgudz43eb82b2020-02-11 16:36:48 +0200537 ntws:
538 type: OS::Heat::ResourceGroup
539 depends_on:
540 - ucp
541 properties:
542 count: { get_param: ntw_size }
543 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200544 type: MCP2::SrvInstancesCeph
sgudz43eb82b2020-02-11 16:36:48 +0200545 properties:
546 metadata: { get_param: ntw_metadata }
547 node_type: "worker"
548 key_name: { get_param: "OS::stack_name" }
549 image: { get_param: image }
550 flavor: { get_param: ntws_flavor }
551 docker_ee_url: { get_param: docker_ee_url }
552 docker_ee_release: { get_param: docker_ee_release }
553 accessible_network: { get_attr: [accessible_network, public_network] }
554 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
555 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
556 private_floating_interface: { get_param: private_floating_interface }
557 private_floating_network_cidr: { get_param: private_floating_network_cidr }
558 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
559 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200560 control_network_cidr: { get_param: control_network_cidr }
sgudz43eb82b2020-02-11 16:36:48 +0200561 ucp_master_host: { get_attr: [ucp, server_private_ip] }
562 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200563 storage_frontend_interface: { get_param: storage_frontend_interface }
564 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
565 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
566 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300567 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
568 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300569 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200570 hardware_metadata: { get_param: hardware_metadata}
sgudz43eb82b2020-02-11 16:36:48 +0200571
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300572 vbmcs:
573 type: OS::Heat::ResourceGroup
574 depends_on:
575 - ucp
576 properties:
577 count: { get_param: vbmc_size }
578 resource_def:
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400579 type: MCP2::SrvInstancesCeph
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300580 properties:
581 metadata: { get_param: vbmc_metadata}
582 node_type: "worker"
583 key_name: { get_param: "OS::stack_name" }
584 image: { get_param: image }
585 flavor: { get_param: vbmcs_flavor }
586 docker_ee_url: { get_param: docker_ee_url }
587 docker_ee_release: { get_param: docker_ee_release }
588 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]}
594 public_net_id: { get_param: public_net_id }
595 control_network_cidr: { get_param: control_network_cidr }
596 ucp_master_host: { get_attr: [ucp, server_private_ip] }
597 functions_override: { get_param: functions_override }
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400598 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 }
Michael Polenchuk21493b32020-05-15 21:08:04 +0400602 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 }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300605 hardware_metadata: { get_param: hardware_metadata}
606
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100607outputs:
608 ucp_ips:
609 description: Private IP addresses of the deployed ucp instances
610 value: { get_attr: [ucp, server_public_ip] }
611 masters_ips:
612 description: Private IP addresses of the deployed masters instances
613 value: { get_attr: [masters, server_public_ip] }
614 workers_ips:
615 description: Private IP addresses of the deployed worker instances
616 value: { get_attr: [workers, server_public_ip] }
617 cmps_ips:
618 description: Private IP addresses of the deployed cmp instances
619 value: { get_attr: [cmps, server_public_ip] }
620 gtws_ips:
621 description: Private IP addresses of the deployed gtw instances
622 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200623 lmas_ips:
624 description: Private IP addresses of the deployed lma instances
625 value: { get_attr: [lmas, server_public_ip] }
626 osds_ips:
627 description: Private IP addresses of the deployed osd instances
628 value: { get_attr: [osds, server_public_ip] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200629 spares_ips:
630 description: Private IP addresses of the deployed spare instances
631 value: { get_attr: [spares, server_public_ip] }
sgudz43eb82b2020-02-11 16:36:48 +0200632 ntws_ips:
633 description: Private IP addresses of the deployed contrail instances
634 value: { get_attr: [ntws, server_public_ip] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300635 vbmcs_ips:
636 description: Private IP addresses of the deployed virtualbmcs instances
637 value: { get_attr: [vbmcs, server_public_ip] }
Vasyl Saienko4e3f4632020-05-26 14:43:09 +0300638 vbmc_ironic_baremetal_ips:
639 description: The IPs of ironic baremetal network assigned to vbmc hosts.
640 value: { get_attr: [vbmcs, server_ironic_baremetal_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200641 worker_private_floating_ips:
642 description: IPs might be used as gateway
643 value: { get_attr: [workers, server_private_floating_ip] }
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200644 private_floating_cidr:
645 value: { get_param: private_floating_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200646 private_floating_network_pool_start:
647 value: { get_param: private_floating_network_pool_start }
648 private_floating_network_pool_end:
649 value: { get_param: private_floating_network_pool_end }
650 private_floating_network_gateway:
651 value: { get_param: private_floating_network_gateway }
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300652 private_floating_network_interface:
653 value: { get_param: private_floating_network_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300654 ironic_baremetal_network_pool_start:
655 value: { get_param: ironic_baremetal_network_pool_start }
656 ironic_baremetal_network_pool_end:
657 value: { get_param: ironic_baremetal_network_pool_end }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300658 ironic_baremetal_network_interface:
659 value: { get_param: ironic_baremetal_network_interface }
Vasyl Saienko1233afd2020-05-21 14:55:21 +0300660 ironic_baremetal_network_vbmc_interface:
661 value: { get_param: ironic_baremetal_network_vbmc_interface }
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300662 ironic_baremetal_provisioning_interface:
663 value: { get_param: ironic_baremetal_provisioning_interface }
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200664 tunnel_interface:
665 value: { get_param: tunnel_interface }
666 live_migration_interface:
667 value: { get_param: live_migration_interface }
668 metallb_address_pools:
669 value: { get_param: metallb_address_pools }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200670 ucp_wc_data:
671 description: Metadata from ucp
672 value: { get_attr: [ucp, wc_data] }
673 masters_wc_data:
674 description: Metadata from masters
675 value: { get_attr: [masters, wc_data] }
676 workers_wc_data:
677 description: Metadata from workers
678 value: { get_attr: [workers, wc_data] }
679 cmps_wc_data:
680 description: Metadata from cmps
681 value: { get_attr: [cmps, wc_data] }
682 gtws_wc_data:
683 description: Metadata from gtws
684 value: { get_attr: [gtws, wc_data] }
685 lmas_wc_data:
686 description: Metadata from lmas
687 value: { get_attr: [lmas, wc_data] }
688 osds_wc_data:
689 description: Metadata from osds
690 value: { get_attr: [osds, wc_data] }
691 ntws_wc_data:
692 description: Metadata from ntws
693 value: { get_attr: [ntws, wc_data] }
Oleh Hryhorov564a1202020-03-12 12:44:56 +0200694 storage_frontend_network_cidr:
695 description: Storage network which is used as clientNet in Ceph CR
696 value: { get_param: storage_frontend_network_cidr }
697 storage_backend_network_cidr:
698 description: Storage network which is used as clusterNet in Ceph CR
699 value: { get_param: storage_backend_network_cidr }