blob: 30736be1c845824da8c977d419297d59e2ee8ace [file] [log] [blame]
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +01001heat_template_version: queens
2
3parameters:
4 key_name:
5 type: string
6 description: Name of keypair to assign to servers
7 image:
8 type: string
9 description: Name of image to use for servers
10 flavor:
11 type: string
12 description: Flavor to use for servers
13 public_net_id:
14 type: string
15 description: >
16 ID of public network for which floating IP addresses will be allocated
17 masters_size:
18 type: number
19 description: Number of masters instances to deploy
20 default: 2
21 worker_size:
22 type: number
23 description: Number of workers to deploy
24 default: 5
25 cmp_size:
26 type: number
27 description: Number of cmp workers to deploy
28 default: 0
29 gtw_size:
30 type: number
31 description: Number of gtw workers to deploy
32 default: 0
sgudzb94b4c62020-02-05 13:21:25 +020033 lma_size:
34 type: number
35 description: Number of gtw workers to deploy
36 default: 0
37 osd_size:
38 type: number
39 description: Number of gtw workers to deploy
40 default: 0
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010041 ucp_boot_timeout:
42 type: number
43 description: Boot timeout for UCP instance
44 default: 1200
45 cluster_public_key:
46 type: string
Oleh Hryhorov0019f592020-01-23 11:50:12 +020047 private_floating_network_cidr:
48 type: string
49 default: '10.11.12.0/24'
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010050 worker_metadata:
51 type: json
sgudzb94b4c62020-02-05 13:21:25 +020052 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010053 cmp_metadata:
54 type: json
sgudzb94b4c62020-02-05 13:21:25 +020055 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010056 gtw_metadata:
57 type: json
sgudzb94b4c62020-02-05 13:21:25 +020058 default: {}
59 lma_metadata:
60 type: json
61 default: {}
62 osd_metadata:
63 type: json
64 default: {}
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010065
66resources:
67 key_pair:
68 type: OS::Nova::KeyPair
69 properties:
70 name: { get_param: "OS::stack_name" }
71 public_key: { get_param: cluster_public_key}
72 save_private_key: false
73
74 network:
75 type: OS::Neutron::Net
76 subnet:
77 type: OS::Neutron::Subnet
78 properties:
79 network: { get_resource: network }
80 cidr: 10.10.0.0/24
81 dns_nameservers:
Vasyl Saienkoa096c482020-01-03 09:54:27 +020082 - 172.18.224.6
83 - 172.18.176.6
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +010084 router:
85 type: OS::Neutron::Router
86 properties:
87 external_gateway_info:
88 network: { get_param: public_net_id }
89 router_iface:
90 type: OS::Neutron::RouterInterface
91 properties:
92 router: { get_resource: router }
93 subnet: { get_resource: subnet }
94
95 private_floating_network:
96 type: OS::Neutron::Net
97 properties:
98 port_security_enabled: false
99 private_floating_subnet:
100 type: OS::Neutron::Subnet
101 properties:
102 network: { get_resource: private_floating_network }
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200103 cidr: { get_param: private_floating_network_cidr }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100104 enable_dhcp: false
105 gateway_ip: ~
106
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100107 ucp:
108 depends_on: router_iface
109 type: ./srv-group.yaml
110 properties:
111 image: { get_param: image }
112 flavor: { get_param: flavor }
113 key_name: { get_param: "OS::stack_name" }
114 public_net_id: { get_param: public_net_id }
115 private_net_id: { get_resource: network }
116 private_subnet_id: { get_resource: subnet }
117 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100118 metadata: {"role":"ucp"}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200119 node_type: "ucp"
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100120
121 masters:
122 type: OS::Heat::ResourceGroup
123 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200124 - ucp
Vasyl Saienko60acd1c2020-02-07 11:51:29 +0200125 - router_iface
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100126 properties:
127 count: { get_param: masters_size }
128 resource_def:
129 type: ./srv-group.yaml
130 properties:
131 image: { get_param: image }
132 flavor: { get_param: flavor }
133 key_name: { get_param: "OS::stack_name" }
134 public_net_id: { get_param: public_net_id }
135 private_net_id: { get_resource: network }
136 private_subnet_id: { get_resource: subnet }
137 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100138 metadata: {"role":"master"}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200139 node_type: "master"
140 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100141
142 workers:
143 type: OS::Heat::ResourceGroup
144 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200145 - ucp
Vasyl Saienko60acd1c2020-02-07 11:51:29 +0200146 - router_iface
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100147 properties:
148 count: { get_param: worker_size }
149 resource_def:
150 type: ./srv-group.yaml
151 properties:
152 image: { get_param: image }
153 flavor: { get_param: flavor }
154 key_name: { get_param: "OS::stack_name" }
155 public_net_id: { get_param: public_net_id }
156 private_net_id: { get_resource: network }
157 private_subnet_id: { get_resource: subnet }
158 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100159 metadata: { get_param: worker_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200160 node_type: "worker"
161 ucp_master_host: { get_attr: [ucp, server_private_ip] }
162
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100163 cmps:
164 type: OS::Heat::ResourceGroup
165 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200166 - ucp
Vasyl Saienko60acd1c2020-02-07 11:51:29 +0200167 - router_iface
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100168 properties:
169 count: { get_param: cmp_size }
170 resource_def:
171 type: ./srv-group.yaml
172 properties:
173 image: { get_param: image }
174 flavor: { get_param: flavor }
175 key_name: { get_param: "OS::stack_name" }
176 public_net_id: { get_param: public_net_id }
177 private_net_id: { get_resource: network }
178 private_subnet_id: { get_resource: subnet }
179 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100180 metadata: { get_param: cmp_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200181 node_type: "worker"
182 ucp_master_host: { get_attr: [ucp, server_private_ip] }
183
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100184 gtws:
185 type: OS::Heat::ResourceGroup
186 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200187 - ucp
Vasyl Saienko60acd1c2020-02-07 11:51:29 +0200188 - router_iface
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100189 properties:
190 count: { get_param: gtw_size }
191 resource_def:
192 type: ./srv-group.yaml
193 properties:
194 image: { get_param: image }
195 flavor: { get_param: flavor }
196 key_name: { get_param: "OS::stack_name" }
197 public_net_id: { get_param: public_net_id }
198 private_net_id: { get_resource: network }
199 private_subnet_id: { get_resource: subnet }
200 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100201 metadata: { get_param: gtw_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200202 node_type: "worker"
203 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100204
sgudzb94b4c62020-02-05 13:21:25 +0200205 lmas:
206 type: OS::Heat::ResourceGroup
207 depends_on:
208 - ucp
Vasyl Saienko60acd1c2020-02-07 11:51:29 +0200209 - router_iface
sgudzb94b4c62020-02-05 13:21:25 +0200210 properties:
211 count: { get_param: lma_size }
212 resource_def:
213 type: ./srv-group.yaml
214 properties:
215 image: { get_param: image }
216 flavor: { get_param: flavor }
217 key_name: { get_param: "OS::stack_name" }
218 public_net_id: { get_param: public_net_id }
219 private_net_id: { get_resource: network }
220 private_subnet_id: { get_resource: subnet }
221 private_floating_network: { get_resource: private_floating_network }
222 metadata: { get_param: lma_metadata}
223 node_type: "worker"
224 ucp_master_host: { get_attr: [ucp, server_private_ip] }
225
226 osds:
227 type: OS::Heat::ResourceGroup
228 depends_on:
229 - ucp
Vasyl Saienko60acd1c2020-02-07 11:51:29 +0200230 - router_iface
sgudzb94b4c62020-02-05 13:21:25 +0200231 properties:
232 count: { get_param: osd_size }
233 resource_def:
234 type: ./srv-group.yaml
235 properties:
236 image: { get_param: image }
237 flavor: { get_param: flavor }
238 key_name: { get_param: "OS::stack_name" }
239 public_net_id: { get_param: public_net_id }
240 private_net_id: { get_resource: network }
241 private_subnet_id: { get_resource: subnet }
242 private_floating_network: { get_resource: private_floating_network }
243 metadata: { get_param: osd_metadata}
244 node_type: "worker"
245 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100246
247outputs:
248 ucp_ips:
249 description: Private IP addresses of the deployed ucp instances
250 value: { get_attr: [ucp, server_public_ip] }
251 masters_ips:
252 description: Private IP addresses of the deployed masters instances
253 value: { get_attr: [masters, server_public_ip] }
254 workers_ips:
255 description: Private IP addresses of the deployed worker instances
256 value: { get_attr: [workers, server_public_ip] }
257 cmps_ips:
258 description: Private IP addresses of the deployed cmp instances
259 value: { get_attr: [cmps, server_public_ip] }
260 gtws_ips:
261 description: Private IP addresses of the deployed gtw instances
262 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200263 lmas_ips:
264 description: Private IP addresses of the deployed lma instances
265 value: { get_attr: [lmas, server_public_ip] }
266 osds_ips:
267 description: Private IP addresses of the deployed osd instances
268 value: { get_attr: [osds, server_public_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200269 worker_private_floating_ips:
270 description: IPs might be used as gateway
271 value: { get_attr: [workers, server_private_floating_ip] }
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200272 private_floating_cidr:
273 value: { get_param: private_floating_network_cidr }