blob: a227e09ac5f2153d14bb8a3510e936a0a5f0a146 [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.'
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300124 ironic_baremetal_provisioning_interface:
125 type: string
126 default: 'br-baremetal'
127 description: 'The name of interface on node to which IP ironic services will bind.'
Dennis Dmitrievea894212020-03-12 21:36:43 +0200128 ucp_metadata:
129 type: json
130 default: {"role":"ucp"}
131 master_metadata:
132 type: json
133 default: {"role":"master"}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100134 worker_metadata:
135 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200136 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100137 cmp_metadata:
138 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200139 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100140 gtw_metadata:
141 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200142 default: {}
143 lma_metadata:
144 type: json
145 default: {}
146 osd_metadata:
147 type: json
148 default: {}
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200149 spare_metadata:
150 type: json
151 default: {}
sgudz43eb82b2020-02-11 16:36:48 +0200152 ntw_metadata:
153 type: json
154 default: {}
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300155 vbmc_metadata:
156 type: json
157 default: {}
sgudzfe58e8a2020-02-11 13:31:40 +0200158 ucp_flavor:
159 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300160 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200161 masters_flavor:
162 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300163 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200164 workers_flavor:
165 type: string
166 default: 'system.compact.openstack.control'
167 cmps_flavor:
168 type: string
169 default: 'system.compact.openstack.control'
170 gtws_flavor:
171 type: string
172 default: 'system.compact.openstack.control'
173 lmas_flavor:
174 type: string
175 default: 'system.compact.openstack.control'
176 osds_flavor:
177 type: string
Mateusz Lose2ad0772020-02-27 21:41:54 +0100178 default: 'system.virtual.ceph.osd'
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200179 spares_flavor:
180 type: string
181 default: 'system.compact.openstack.control'
sgudz43eb82b2020-02-11 16:36:48 +0200182 ntws_flavor:
183 type: string
184 default: 'system.compact.openstack.control'
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300185 vbmcs_flavor:
186 type: string
187 default: 'system.compact.openstack.control'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200188 functions_override:
189 type: string
Vasyl Saienko9b688992020-02-13 13:50:53 +0200190 default: ''
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200191 docker_ee_url:
192 type: string
Vasyl Saienko1785c352020-03-11 11:39:40 +0200193 default: 'http://mirror-us.mcp.mirantis.net/.snapshots/docker-ee-bionic-latest'
194# default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux/ubuntu'
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200195 docker_ee_release:
196 type: string
197 default: 'stable-19.03'
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200198 tunnel_interface:
199 type: string
200 default: ''
201 live_migration_interface:
202 type: string
203 default: ''
204 metallb_address_pools:
205 type: comma_delimited_list
206 default: ''
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200207 hardware_metadata:
208 description: The content of lab metadata.
209 default: ''
210 type: string
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100211
212resources:
213 key_pair:
214 type: OS::Nova::KeyPair
215 properties:
216 name: { get_param: "OS::stack_name" }
217 public_key: { get_param: cluster_public_key}
218 save_private_key: false
219
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200220 accessible_network:
221 type: MCP2::NetworkAcc
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100222 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200223 public_net_id: { get_param: public_net_id }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100224
225 private_floating_network:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200226 type: MCP2::NetworkPrvFl
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100227 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200228 private_floating_network_cidr: { get_param: private_floating_network_cidr }
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +0200229 private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start }
Oleh Hryhorov7b0157d2020-02-27 18:20:11 +0200230 private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end }
Sergey Matov0709c762020-04-02 14:30:50 +0400231 private_floating_network_gateway: {get_param: private_floating_network_gateway}
232 control_network_vsrx_peering_ip: {get_param: control_network_vsrx_peering_ip}
233 accessible_network: { get_attr: [accessible_network, public_network]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100234
Mateusz Lose2ad0772020-02-27 21:41:54 +0100235 storage_network:
236 type: MCP2::NetworkAccStorage
237 properties:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100238 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200239 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Mateusz Lose2ad0772020-02-27 21:41:54 +0100240
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300241 ironic_baremetal_network:
242 type: MCP2::NetworkIronicFlat
243 properties:
244 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
245 ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
246 ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
247 ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
248
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100249 ucp:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100250 depends_on:
251 - accessible_network
252 - storage_network
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200253 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100254 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200255 metadata: { get_param: ucp_metadata}
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200256 docker_ee_url: { get_param: docker_ee_url }
257 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200258 node_type: "ucp"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200259 key_name: { get_param: "OS::stack_name" }
260 image: { get_param: image }
261 flavor: { get_param: ucp_flavor }
262 accessible_network: { get_attr: [accessible_network, public_network] }
263 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
264 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
265 private_floating_interface: { get_param: private_floating_interface }
266 private_floating_network_cidr: { get_param: private_floating_network_cidr }
267 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
268 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200269 control_network_cidr: { get_param: control_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200270 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200271 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200272
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100273 masters:
274 type: OS::Heat::ResourceGroup
275 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200276 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100277 properties:
278 count: { get_param: masters_size }
279 resource_def:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200280 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100281 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200282 metadata: { get_param: master_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200283 node_type: "master"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200284 key_name: { get_param: "OS::stack_name" }
285 image: { get_param: image }
286 flavor: { get_param: masters_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200287 docker_ee_url: { get_param: docker_ee_url }
288 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200289 accessible_network: { get_attr: [accessible_network, public_network] }
290 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
291 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
292 private_floating_interface: { get_param: private_floating_interface }
293 private_floating_network_cidr: { get_param: private_floating_network_cidr }
294 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
295 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200296 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200297 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200298 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200299 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200300
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100301 workers:
302 type: OS::Heat::ResourceGroup
303 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200304 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100305 properties:
306 count: { get_param: worker_size }
307 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200308 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100309 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200310 metadata: { get_param: worker_metadata}
311 node_type: "worker"
312 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100313 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200314 flavor: { get_param: workers_flavor }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100315 key_name: { get_param: "OS::stack_name" }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200316 docker_ee_url: { get_param: docker_ee_url }
317 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200318 accessible_network: { get_attr: [accessible_network, public_network] }
319 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
320 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
321 private_floating_interface: { get_param: private_floating_interface }
322 private_floating_network_cidr: { get_param: private_floating_network_cidr }
323 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100324 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200325 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200326 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200327 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200328 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200329 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
330 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
331 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200332 storage_backend_interface: { get_param: storage_backend_interface }
333 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
334 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
335 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300336 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
337 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300338 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200339 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200340
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100341 cmps:
342 type: OS::Heat::ResourceGroup
343 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200344 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100345 properties:
346 count: { get_param: cmp_size }
347 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200348 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100349 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200350 metadata: { get_param: cmp_metadata }
351 node_type: "worker"
352 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100353 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200354 flavor: { get_param: cmps_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200355 docker_ee_url: { get_param: docker_ee_url }
356 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200357 accessible_network: { get_attr: [accessible_network, public_network] }
358 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
359 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
360 private_floating_interface: { get_param: private_floating_interface }
361 private_floating_network_cidr: { get_param: private_floating_network_cidr }
362 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100363 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200364 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200365 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200366 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200367 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200368 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
369 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
370 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200371 storage_backend_interface: { get_param: storage_backend_interface }
372 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
373 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
374 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300375 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
376 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300377 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200378 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200379
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100380 gtws:
381 type: OS::Heat::ResourceGroup
382 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200383 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100384 properties:
385 count: { get_param: gtw_size }
386 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200387 type: MCP2::SrvInstancesCeph
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100388 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200389 metadata: { get_param: gtw_metadata }
390 node_type: "worker"
391 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100392 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200393 flavor: { get_param: gtws_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200394 docker_ee_url: { get_param: docker_ee_url }
395 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200396 accessible_network: { get_attr: [accessible_network, public_network] }
397 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
398 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
399 private_floating_interface: { get_param: private_floating_interface }
400 private_floating_network_cidr: { get_param: private_floating_network_cidr }
401 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100402 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200403 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200404 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200405 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200406 storage_frontend_interface: { get_param: storage_frontend_interface }
407 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
408 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
409 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300410 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
411 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300412 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200413 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100414
sgudzb94b4c62020-02-05 13:21:25 +0200415 lmas:
416 type: OS::Heat::ResourceGroup
417 depends_on:
418 - ucp
419 properties:
420 count: { get_param: lma_size }
421 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100422 type: MCP2::SrvInstancesCeph
sgudzb94b4c62020-02-05 13:21:25 +0200423 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200424 metadata: { get_param: lma_metadata }
425 node_type: "worker"
426 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200427 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200428 flavor: { get_param: lmas_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200429 docker_ee_url: { get_param: docker_ee_url }
430 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200431 accessible_network: { get_attr: [accessible_network, public_network] }
432 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
433 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
434 private_floating_interface: { get_param: private_floating_interface }
435 private_floating_network_cidr: { get_param: private_floating_network_cidr }
436 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200437 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200438 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200439 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200440 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200441 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200442 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
443 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
444 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300445 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
446 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300447 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200448 hardware_metadata: { get_param: hardware_metadata}
sgudzb94b4c62020-02-05 13:21:25 +0200449
450 osds:
451 type: OS::Heat::ResourceGroup
452 depends_on:
453 - ucp
454 properties:
455 count: { get_param: osd_size }
456 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100457 type: MCP2::SrvInstancesCephOSD
sgudzb94b4c62020-02-05 13:21:25 +0200458 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200459 metadata: { get_param: osd_metadata }
460 node_type: "worker"
461 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200462 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200463 flavor: { get_param: osds_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200464 docker_ee_url: { get_param: docker_ee_url }
465 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200466 accessible_network: { get_attr: [accessible_network, public_network] }
467 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
468 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
469 private_floating_interface: { get_param: private_floating_interface }
470 private_floating_network_cidr: { get_param: private_floating_network_cidr }
471 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200472 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200473 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200474 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200475 functions_override: { get_param: functions_override }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200476 storage_frontend_interface: { get_param: storage_frontend_interface }
477 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
478 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
479 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
480 storage_backend_interface: { get_param: storage_backend_interface }
481 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
482 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
483 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300484 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
485 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300486 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200487 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100488
Dennis Dmitrievea894212020-03-12 21:36:43 +0200489 spares: # spares for osds/cmps
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200490 type: OS::Heat::ResourceGroup
491 depends_on:
492 - ucp
493 properties:
494 count: { get_param: spare_size }
495 resource_def:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200496 type: MCP2::SrvInstancesCephOSD
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200497 properties:
498 metadata: { get_param: spare_metadata }
499 node_type: "spare"
500 key_name: { get_param: "OS::stack_name" }
501 image: { get_param: image }
502 flavor: { get_param: spares_flavor }
503 docker_ee_url: { get_param: docker_ee_url }
504 docker_ee_release: { get_param: docker_ee_release }
505 accessible_network: { get_attr: [accessible_network, public_network] }
506 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
507 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
508 private_floating_interface: { get_param: private_floating_interface }
509 private_floating_network_cidr: { get_param: private_floating_network_cidr }
510 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
511 public_net_id: { get_param: public_net_id }
512 control_network_cidr: { get_param: control_network_cidr }
513 ucp_master_host: { get_attr: [ucp, server_private_ip] }
514 functions_override: { get_param: functions_override }
515 storage_frontend_interface: { get_param: storage_frontend_interface }
516 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
517 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
518 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Dennis Dmitrievea894212020-03-12 21:36:43 +0200519 storage_backend_interface: { get_param: storage_backend_interface }
520 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
521 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
522 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300523 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
524 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300525 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200526 hardware_metadata: { get_param: hardware_metadata}
527
sgudz43eb82b2020-02-11 16:36:48 +0200528 ntws:
529 type: OS::Heat::ResourceGroup
530 depends_on:
531 - ucp
532 properties:
533 count: { get_param: ntw_size }
534 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200535 type: MCP2::SrvInstancesCeph
sgudz43eb82b2020-02-11 16:36:48 +0200536 properties:
537 metadata: { get_param: ntw_metadata }
538 node_type: "worker"
539 key_name: { get_param: "OS::stack_name" }
540 image: { get_param: image }
541 flavor: { get_param: ntws_flavor }
542 docker_ee_url: { get_param: docker_ee_url }
543 docker_ee_release: { get_param: docker_ee_release }
544 accessible_network: { get_attr: [accessible_network, public_network] }
545 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
546 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
547 private_floating_interface: { get_param: private_floating_interface }
548 private_floating_network_cidr: { get_param: private_floating_network_cidr }
549 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
550 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200551 control_network_cidr: { get_param: control_network_cidr }
sgudz43eb82b2020-02-11 16:36:48 +0200552 ucp_master_host: { get_attr: [ucp, server_private_ip] }
553 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200554 storage_frontend_interface: { get_param: storage_frontend_interface }
555 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
556 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
557 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300558 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] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300560 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200561 hardware_metadata: { get_param: hardware_metadata}
sgudz43eb82b2020-02-11 16:36:48 +0200562
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300563 vbmcs:
564 type: OS::Heat::ResourceGroup
565 depends_on:
566 - ucp
567 properties:
568 count: { get_param: vbmc_size }
569 resource_def:
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400570 type: MCP2::SrvInstancesCeph
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300571 properties:
572 metadata: { get_param: vbmc_metadata}
573 node_type: "worker"
574 key_name: { get_param: "OS::stack_name" }
575 image: { get_param: image }
576 flavor: { get_param: vbmcs_flavor }
577 docker_ee_url: { get_param: docker_ee_url }
578 docker_ee_release: { get_param: docker_ee_release }
579 accessible_network: { get_attr: [accessible_network, public_network] }
580 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
581 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
582 private_floating_interface: { get_param: private_floating_interface }
583 private_floating_network_cidr: { get_param: private_floating_network_cidr }
584 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
585 public_net_id: { get_param: public_net_id }
586 control_network_cidr: { get_param: control_network_cidr }
587 ucp_master_host: { get_attr: [ucp, server_private_ip] }
588 functions_override: { get_param: functions_override }
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400589 storage_frontend_interface: { get_param: storage_frontend_interface }
590 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
591 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
592 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Michael Polenchuk21493b32020-05-15 21:08:04 +0400593 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
594 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300595 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300596 hardware_metadata: { get_param: hardware_metadata}
597
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100598outputs:
599 ucp_ips:
600 description: Private IP addresses of the deployed ucp instances
601 value: { get_attr: [ucp, server_public_ip] }
602 masters_ips:
603 description: Private IP addresses of the deployed masters instances
604 value: { get_attr: [masters, server_public_ip] }
605 workers_ips:
606 description: Private IP addresses of the deployed worker instances
607 value: { get_attr: [workers, server_public_ip] }
608 cmps_ips:
609 description: Private IP addresses of the deployed cmp instances
610 value: { get_attr: [cmps, server_public_ip] }
611 gtws_ips:
612 description: Private IP addresses of the deployed gtw instances
613 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200614 lmas_ips:
615 description: Private IP addresses of the deployed lma instances
616 value: { get_attr: [lmas, server_public_ip] }
617 osds_ips:
618 description: Private IP addresses of the deployed osd instances
619 value: { get_attr: [osds, server_public_ip] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200620 spares_ips:
621 description: Private IP addresses of the deployed spare instances
622 value: { get_attr: [spares, server_public_ip] }
sgudz43eb82b2020-02-11 16:36:48 +0200623 ntws_ips:
624 description: Private IP addresses of the deployed contrail instances
625 value: { get_attr: [ntws, server_public_ip] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300626 vbmcs_ips:
627 description: Private IP addresses of the deployed virtualbmcs instances
628 value: { get_attr: [vbmcs, server_public_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200629 worker_private_floating_ips:
630 description: IPs might be used as gateway
631 value: { get_attr: [workers, server_private_floating_ip] }
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200632 private_floating_cidr:
633 value: { get_param: private_floating_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200634 private_floating_network_pool_start:
635 value: { get_param: private_floating_network_pool_start }
636 private_floating_network_pool_end:
637 value: { get_param: private_floating_network_pool_end }
638 private_floating_network_gateway:
639 value: { get_param: private_floating_network_gateway }
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300640 private_floating_network_interface:
641 value: { get_param: private_floating_network_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300642 ironic_baremetal_network_pool_start:
643 value: { get_param: ironic_baremetal_network_pool_start }
644 ironic_baremetal_network_pool_end:
645 value: { get_param: ironic_baremetal_network_pool_end }
Vasyl Saienko4c468192020-05-19 11:51:13 +0300646 ironic_baremetal_network_interface:
647 value: { get_param: ironic_baremetal_network_interface }
Vasyl Saienko9fd0b5b2020-05-20 13:15:58 +0300648 ironic_baremetal_provisioning_interface:
649 value: { get_param: ironic_baremetal_provisioning_interface }
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200650 tunnel_interface:
651 value: { get_param: tunnel_interface }
652 live_migration_interface:
653 value: { get_param: live_migration_interface }
654 metallb_address_pools:
655 value: { get_param: metallb_address_pools }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200656 ucp_wc_data:
657 description: Metadata from ucp
658 value: { get_attr: [ucp, wc_data] }
659 masters_wc_data:
660 description: Metadata from masters
661 value: { get_attr: [masters, wc_data] }
662 workers_wc_data:
663 description: Metadata from workers
664 value: { get_attr: [workers, wc_data] }
665 cmps_wc_data:
666 description: Metadata from cmps
667 value: { get_attr: [cmps, wc_data] }
668 gtws_wc_data:
669 description: Metadata from gtws
670 value: { get_attr: [gtws, wc_data] }
671 lmas_wc_data:
672 description: Metadata from lmas
673 value: { get_attr: [lmas, wc_data] }
674 osds_wc_data:
675 description: Metadata from osds
676 value: { get_attr: [osds, wc_data] }
677 ntws_wc_data:
678 description: Metadata from ntws
679 value: { get_attr: [ntws, wc_data] }
Oleh Hryhorov564a1202020-03-12 12:44:56 +0200680 storage_frontend_network_cidr:
681 description: Storage network which is used as clientNet in Ceph CR
682 value: { get_param: storage_frontend_network_cidr }
683 storage_backend_network_cidr:
684 description: Storage network which is used as clusterNet in Ceph CR
685 value: { get_param: storage_backend_network_cidr }