blob: 9b06fca539d281adb2d5e9f6750cc6fff83619d2 [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: ''
120 ironic_baremetal_interface:
121 type: string
122 default: 'ens7'
Dennis Dmitrievea894212020-03-12 21:36:43 +0200123 ucp_metadata:
124 type: json
125 default: {"role":"ucp"}
126 master_metadata:
127 type: json
128 default: {"role":"master"}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100129 worker_metadata:
130 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200131 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100132 cmp_metadata:
133 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200134 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100135 gtw_metadata:
136 type: json
sgudzb94b4c62020-02-05 13:21:25 +0200137 default: {}
138 lma_metadata:
139 type: json
140 default: {}
141 osd_metadata:
142 type: json
143 default: {}
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200144 spare_metadata:
145 type: json
146 default: {}
sgudz43eb82b2020-02-11 16:36:48 +0200147 ntw_metadata:
148 type: json
149 default: {}
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300150 vbmc_metadata:
151 type: json
152 default: {}
sgudzfe58e8a2020-02-11 13:31:40 +0200153 ucp_flavor:
154 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300155 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200156 masters_flavor:
157 type: string
Vasyl Saienko230242f2020-04-07 12:46:05 +0300158 default: 'system.compact.openstack.proxy'
sgudzfe58e8a2020-02-11 13:31:40 +0200159 workers_flavor:
160 type: string
161 default: 'system.compact.openstack.control'
162 cmps_flavor:
163 type: string
164 default: 'system.compact.openstack.control'
165 gtws_flavor:
166 type: string
167 default: 'system.compact.openstack.control'
168 lmas_flavor:
169 type: string
170 default: 'system.compact.openstack.control'
171 osds_flavor:
172 type: string
Mateusz Lose2ad0772020-02-27 21:41:54 +0100173 default: 'system.virtual.ceph.osd'
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200174 spares_flavor:
175 type: string
176 default: 'system.compact.openstack.control'
sgudz43eb82b2020-02-11 16:36:48 +0200177 ntws_flavor:
178 type: string
179 default: 'system.compact.openstack.control'
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300180 vbmcs_flavor:
181 type: string
182 default: 'system.compact.openstack.control'
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200183 functions_override:
184 type: string
Vasyl Saienko9b688992020-02-13 13:50:53 +0200185 default: ''
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200186 docker_ee_url:
187 type: string
Vasyl Saienko1785c352020-03-11 11:39:40 +0200188 default: 'http://mirror-us.mcp.mirantis.net/.snapshots/docker-ee-bionic-latest'
189# default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux/ubuntu'
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200190 docker_ee_release:
191 type: string
192 default: 'stable-19.03'
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200193 tunnel_interface:
194 type: string
195 default: ''
196 live_migration_interface:
197 type: string
198 default: ''
199 metallb_address_pools:
200 type: comma_delimited_list
201 default: ''
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200202 hardware_metadata:
203 description: The content of lab metadata.
204 default: ''
205 type: string
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100206
207resources:
208 key_pair:
209 type: OS::Nova::KeyPair
210 properties:
211 name: { get_param: "OS::stack_name" }
212 public_key: { get_param: cluster_public_key}
213 save_private_key: false
214
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200215 accessible_network:
216 type: MCP2::NetworkAcc
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100217 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200218 public_net_id: { get_param: public_net_id }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100219
220 private_floating_network:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200221 type: MCP2::NetworkPrvFl
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100222 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200223 private_floating_network_cidr: { get_param: private_floating_network_cidr }
Oleh Hryhorov2a7b3d72020-02-27 17:04:24 +0200224 private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start }
Oleh Hryhorov7b0157d2020-02-27 18:20:11 +0200225 private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end }
Sergey Matov0709c762020-04-02 14:30:50 +0400226 private_floating_network_gateway: {get_param: private_floating_network_gateway}
227 control_network_vsrx_peering_ip: {get_param: control_network_vsrx_peering_ip}
228 accessible_network: { get_attr: [accessible_network, public_network]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100229
Mateusz Lose2ad0772020-02-27 21:41:54 +0100230 storage_network:
231 type: MCP2::NetworkAccStorage
232 properties:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100233 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200234 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Mateusz Lose2ad0772020-02-27 21:41:54 +0100235
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300236 ironic_baremetal_network:
237 type: MCP2::NetworkIronicFlat
238 properties:
239 ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
240 ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
241 ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
242 ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
243
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100244 ucp:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100245 depends_on:
246 - accessible_network
247 - storage_network
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200248 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100249 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200250 metadata: { get_param: ucp_metadata}
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200251 docker_ee_url: { get_param: docker_ee_url }
252 docker_ee_release: { get_param: docker_ee_release }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200253 node_type: "ucp"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200254 key_name: { get_param: "OS::stack_name" }
255 image: { get_param: image }
256 flavor: { get_param: ucp_flavor }
257 accessible_network: { get_attr: [accessible_network, public_network] }
258 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
259 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
260 private_floating_interface: { get_param: private_floating_interface }
261 private_floating_network_cidr: { get_param: private_floating_network_cidr }
262 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
263 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200264 control_network_cidr: { get_param: control_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200265 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200266 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200267
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100268 masters:
269 type: OS::Heat::ResourceGroup
270 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200271 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100272 properties:
273 count: { get_param: masters_size }
274 resource_def:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200275 type: MCP2::SrvInstances
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100276 properties:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200277 metadata: { get_param: master_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200278 node_type: "master"
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200279 key_name: { get_param: "OS::stack_name" }
280 image: { get_param: image }
281 flavor: { get_param: masters_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200282 docker_ee_url: { get_param: docker_ee_url }
283 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200284 accessible_network: { get_attr: [accessible_network, public_network] }
285 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
286 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
287 private_floating_interface: { get_param: private_floating_interface }
288 private_floating_network_cidr: { get_param: private_floating_network_cidr }
289 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
290 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200291 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200292 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200293 functions_override: { get_param: functions_override }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200294 hardware_metadata: { get_param: hardware_metadata}
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200295
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100296 workers:
297 type: OS::Heat::ResourceGroup
298 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200299 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100300 properties:
301 count: { get_param: worker_size }
302 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200303 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100304 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200305 metadata: { get_param: worker_metadata}
306 node_type: "worker"
307 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100308 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200309 flavor: { get_param: workers_flavor }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100310 key_name: { get_param: "OS::stack_name" }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200311 docker_ee_url: { get_param: docker_ee_url }
312 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200313 accessible_network: { get_attr: [accessible_network, public_network] }
314 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
315 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
316 private_floating_interface: { get_param: private_floating_interface }
317 private_floating_network_cidr: { get_param: private_floating_network_cidr }
318 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100319 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200320 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200321 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200322 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200323 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200324 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
325 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
326 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200327 storage_backend_interface: { get_param: storage_backend_interface }
328 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
329 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
330 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300331 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
332 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
333 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200334 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200335
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100336 cmps:
337 type: OS::Heat::ResourceGroup
338 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200339 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100340 properties:
341 count: { get_param: cmp_size }
342 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200343 type: MCP2::SrvInstancesCephOSD
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100344 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200345 metadata: { get_param: cmp_metadata }
346 node_type: "worker"
347 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100348 image: { get_param: image }
Vasyl Saienko6ff0c1b2020-03-05 07:52:02 +0200349 flavor: { get_param: cmps_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200350 docker_ee_url: { get_param: docker_ee_url }
351 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200352 accessible_network: { get_attr: [accessible_network, public_network] }
353 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
354 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
355 private_floating_interface: { get_param: private_floating_interface }
356 private_floating_network_cidr: { get_param: private_floating_network_cidr }
357 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100358 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200359 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200360 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200361 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200362 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200363 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
364 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
365 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200366 storage_backend_interface: { get_param: storage_backend_interface }
367 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
368 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
369 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300370 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
371 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
372 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200373 hardware_metadata: { get_param: hardware_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200374
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100375 gtws:
376 type: OS::Heat::ResourceGroup
377 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200378 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100379 properties:
380 count: { get_param: gtw_size }
381 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200382 type: MCP2::SrvInstancesCeph
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100383 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200384 metadata: { get_param: gtw_metadata }
385 node_type: "worker"
386 key_name: { get_param: "OS::stack_name" }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100387 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200388 flavor: { get_param: gtws_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200389 docker_ee_url: { get_param: docker_ee_url }
390 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200391 accessible_network: { get_attr: [accessible_network, public_network] }
392 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
393 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
394 private_floating_interface: { get_param: private_floating_interface }
395 private_floating_network_cidr: { get_param: private_floating_network_cidr }
396 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100397 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200398 control_network_cidr: { get_param: control_network_cidr }
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200399 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200400 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200401 storage_frontend_interface: { get_param: storage_frontend_interface }
402 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
403 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
404 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300405 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
406 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
407 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200408 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100409
sgudzb94b4c62020-02-05 13:21:25 +0200410 lmas:
411 type: OS::Heat::ResourceGroup
412 depends_on:
413 - ucp
414 properties:
415 count: { get_param: lma_size }
416 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100417 type: MCP2::SrvInstancesCeph
sgudzb94b4c62020-02-05 13:21:25 +0200418 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200419 metadata: { get_param: lma_metadata }
420 node_type: "worker"
421 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200422 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200423 flavor: { get_param: lmas_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200424 docker_ee_url: { get_param: docker_ee_url }
425 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200426 accessible_network: { get_attr: [accessible_network, public_network] }
427 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
428 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
429 private_floating_interface: { get_param: private_floating_interface }
430 private_floating_network_cidr: { get_param: private_floating_network_cidr }
431 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200432 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200433 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200434 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200435 functions_override: { get_param: functions_override }
Oleh Hryhorov1832d232020-03-05 11:33:13 +0200436 storage_frontend_interface: { get_param: storage_frontend_interface }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200437 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
438 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
439 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300440 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
441 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
442 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200443 hardware_metadata: { get_param: hardware_metadata}
sgudzb94b4c62020-02-05 13:21:25 +0200444
445 osds:
446 type: OS::Heat::ResourceGroup
447 depends_on:
448 - ucp
449 properties:
450 count: { get_param: osd_size }
451 resource_def:
Mateusz Lose2ad0772020-02-27 21:41:54 +0100452 type: MCP2::SrvInstancesCephOSD
sgudzb94b4c62020-02-05 13:21:25 +0200453 properties:
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200454 metadata: { get_param: osd_metadata }
455 node_type: "worker"
456 key_name: { get_param: "OS::stack_name" }
sgudzb94b4c62020-02-05 13:21:25 +0200457 image: { get_param: image }
sgudzfe58e8a2020-02-11 13:31:40 +0200458 flavor: { get_param: osds_flavor }
Mykyta Karpin5ed5fd82020-01-27 18:23:29 +0200459 docker_ee_url: { get_param: docker_ee_url }
460 docker_ee_release: { get_param: docker_ee_release }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200461 accessible_network: { get_attr: [accessible_network, public_network] }
462 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
463 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
464 private_floating_interface: { get_param: private_floating_interface }
465 private_floating_network_cidr: { get_param: private_floating_network_cidr }
466 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
sgudzb94b4c62020-02-05 13:21:25 +0200467 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200468 control_network_cidr: { get_param: control_network_cidr }
sgudzb94b4c62020-02-05 13:21:25 +0200469 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200470 functions_override: { get_param: functions_override }
Oleh Hryhorovdccb1cd2020-03-04 15:52:55 +0200471 storage_frontend_interface: { get_param: storage_frontend_interface }
472 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
473 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
474 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
475 storage_backend_interface: { get_param: storage_backend_interface }
476 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
477 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
478 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300479 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
480 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
481 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200482 hardware_metadata: { get_param: hardware_metadata}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100483
Dennis Dmitrievea894212020-03-12 21:36:43 +0200484 spares: # spares for osds/cmps
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200485 type: OS::Heat::ResourceGroup
486 depends_on:
487 - ucp
488 properties:
489 count: { get_param: spare_size }
490 resource_def:
Dennis Dmitrievea894212020-03-12 21:36:43 +0200491 type: MCP2::SrvInstancesCephOSD
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200492 properties:
493 metadata: { get_param: spare_metadata }
494 node_type: "spare"
495 key_name: { get_param: "OS::stack_name" }
496 image: { get_param: image }
497 flavor: { get_param: spares_flavor }
498 docker_ee_url: { get_param: docker_ee_url }
499 docker_ee_release: { get_param: docker_ee_release }
500 accessible_network: { get_attr: [accessible_network, public_network] }
501 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
502 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
503 private_floating_interface: { get_param: private_floating_interface }
504 private_floating_network_cidr: { get_param: private_floating_network_cidr }
505 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
506 public_net_id: { get_param: public_net_id }
507 control_network_cidr: { get_param: control_network_cidr }
508 ucp_master_host: { get_attr: [ucp, server_private_ip] }
509 functions_override: { get_param: functions_override }
510 storage_frontend_interface: { get_param: storage_frontend_interface }
511 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
512 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
513 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Dennis Dmitrievea894212020-03-12 21:36:43 +0200514 storage_backend_interface: { get_param: storage_backend_interface }
515 storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
516 storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
517 storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300518 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
519 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
520 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200521 hardware_metadata: { get_param: hardware_metadata}
522
sgudz43eb82b2020-02-11 16:36:48 +0200523 ntws:
524 type: OS::Heat::ResourceGroup
525 depends_on:
526 - ucp
527 properties:
528 count: { get_param: ntw_size }
529 resource_def:
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200530 type: MCP2::SrvInstancesCeph
sgudz43eb82b2020-02-11 16:36:48 +0200531 properties:
532 metadata: { get_param: ntw_metadata }
533 node_type: "worker"
534 key_name: { get_param: "OS::stack_name" }
535 image: { get_param: image }
536 flavor: { get_param: ntws_flavor }
537 docker_ee_url: { get_param: docker_ee_url }
538 docker_ee_release: { get_param: docker_ee_release }
539 accessible_network: { get_attr: [accessible_network, public_network] }
540 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
541 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
542 private_floating_interface: { get_param: private_floating_interface }
543 private_floating_network_cidr: { get_param: private_floating_network_cidr }
544 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
545 public_net_id: { get_param: public_net_id }
Vasyl Saienko0fa6f192020-03-06 16:08:51 +0200546 control_network_cidr: { get_param: control_network_cidr }
sgudz43eb82b2020-02-11 16:36:48 +0200547 ucp_master_host: { get_attr: [ucp, server_private_ip] }
548 functions_override: { get_param: functions_override }
Vasyl Saienkoff5b8642020-03-26 18:20:34 +0200549 storage_frontend_interface: { get_param: storage_frontend_interface }
550 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
551 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
552 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Vasyl Saienko73d6ec62020-05-14 20:26:25 +0300553 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
554 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
555 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200556 hardware_metadata: { get_param: hardware_metadata}
sgudz43eb82b2020-02-11 16:36:48 +0200557
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300558 vbmcs:
559 type: OS::Heat::ResourceGroup
560 depends_on:
561 - ucp
562 properties:
563 count: { get_param: vbmc_size }
564 resource_def:
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400565 type: MCP2::SrvInstancesCeph
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300566 properties:
567 metadata: { get_param: vbmc_metadata}
568 node_type: "worker"
569 key_name: { get_param: "OS::stack_name" }
570 image: { get_param: image }
571 flavor: { get_param: vbmcs_flavor }
572 docker_ee_url: { get_param: docker_ee_url }
573 docker_ee_release: { get_param: docker_ee_release }
574 accessible_network: { get_attr: [accessible_network, public_network] }
575 private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
576 private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
577 private_floating_interface: { get_param: private_floating_interface }
578 private_floating_network_cidr: { get_param: private_floating_network_cidr }
579 accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
580 public_net_id: { get_param: public_net_id }
581 control_network_cidr: { get_param: control_network_cidr }
582 ucp_master_host: { get_attr: [ucp, server_private_ip] }
583 functions_override: { get_param: functions_override }
Michael Polenchuk3bfb59f2020-05-15 18:50:14 +0400584 storage_frontend_interface: { get_param: storage_frontend_interface }
585 storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
586 storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
587 storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
Michael Polenchuk21493b32020-05-15 21:08:04 +0400588 ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
589 ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
590 ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300591 hardware_metadata: { get_param: hardware_metadata}
592
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100593outputs:
594 ucp_ips:
595 description: Private IP addresses of the deployed ucp instances
596 value: { get_attr: [ucp, server_public_ip] }
597 masters_ips:
598 description: Private IP addresses of the deployed masters instances
599 value: { get_attr: [masters, server_public_ip] }
600 workers_ips:
601 description: Private IP addresses of the deployed worker instances
602 value: { get_attr: [workers, server_public_ip] }
603 cmps_ips:
604 description: Private IP addresses of the deployed cmp instances
605 value: { get_attr: [cmps, server_public_ip] }
606 gtws_ips:
607 description: Private IP addresses of the deployed gtw instances
608 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200609 lmas_ips:
610 description: Private IP addresses of the deployed lma instances
611 value: { get_attr: [lmas, server_public_ip] }
612 osds_ips:
613 description: Private IP addresses of the deployed osd instances
614 value: { get_attr: [osds, server_public_ip] }
Dennis Dmitriev81da4222020-02-25 17:53:04 +0200615 spares_ips:
616 description: Private IP addresses of the deployed spare instances
617 value: { get_attr: [spares, server_public_ip] }
sgudz43eb82b2020-02-11 16:36:48 +0200618 ntws_ips:
619 description: Private IP addresses of the deployed contrail instances
620 value: { get_attr: [ntws, server_public_ip] }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300621 vbmcs_ips:
622 description: Private IP addresses of the deployed virtualbmcs instances
623 value: { get_attr: [vbmcs, server_public_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200624 worker_private_floating_ips:
625 description: IPs might be used as gateway
626 value: { get_attr: [workers, server_private_floating_ip] }
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200627 private_floating_cidr:
628 value: { get_param: private_floating_network_cidr }
Oleh Hryhorovb58460e2020-02-05 15:53:48 +0200629 private_floating_network_pool_start:
630 value: { get_param: private_floating_network_pool_start }
631 private_floating_network_pool_end:
632 value: { get_param: private_floating_network_pool_end }
633 private_floating_network_gateway:
634 value: { get_param: private_floating_network_gateway }
Vasyl Saienkoc943f432020-04-21 12:15:57 +0300635 private_floating_network_interface:
636 value: { get_param: private_floating_network_interface }
Vasyl Saienko36f2edf2020-05-14 10:44:52 +0300637 ironic_baremetal_network_pool_start:
638 value: { get_param: ironic_baremetal_network_pool_start }
639 ironic_baremetal_network_pool_end:
640 value: { get_param: ironic_baremetal_network_pool_end }
Oleh Hryhorov367e3ff2020-02-13 10:35:52 +0200641 tunnel_interface:
642 value: { get_param: tunnel_interface }
643 live_migration_interface:
644 value: { get_param: live_migration_interface }
645 metallb_address_pools:
646 value: { get_param: metallb_address_pools }
Vasyl Saienkof9ee1582020-03-02 16:53:41 +0200647 ucp_wc_data:
648 description: Metadata from ucp
649 value: { get_attr: [ucp, wc_data] }
650 masters_wc_data:
651 description: Metadata from masters
652 value: { get_attr: [masters, wc_data] }
653 workers_wc_data:
654 description: Metadata from workers
655 value: { get_attr: [workers, wc_data] }
656 cmps_wc_data:
657 description: Metadata from cmps
658 value: { get_attr: [cmps, wc_data] }
659 gtws_wc_data:
660 description: Metadata from gtws
661 value: { get_attr: [gtws, wc_data] }
662 lmas_wc_data:
663 description: Metadata from lmas
664 value: { get_attr: [lmas, wc_data] }
665 osds_wc_data:
666 description: Metadata from osds
667 value: { get_attr: [osds, wc_data] }
668 ntws_wc_data:
669 description: Metadata from ntws
670 value: { get_attr: [ntws, wc_data] }
Oleh Hryhorov564a1202020-03-12 12:44:56 +0200671 storage_frontend_network_cidr:
672 description: Storage network which is used as clientNet in Ceph CR
673 value: { get_param: storage_frontend_network_cidr }
674 storage_backend_network_cidr:
675 description: Storage network which is used as clusterNet in Ceph CR
676 value: { get_param: storage_backend_network_cidr }