blob: dca7823432002829ca5ca40c21f071a195edfbb2 [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
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100125 properties:
126 count: { get_param: masters_size }
127 resource_def:
128 type: ./srv-group.yaml
129 properties:
130 image: { get_param: image }
131 flavor: { get_param: flavor }
132 key_name: { get_param: "OS::stack_name" }
133 public_net_id: { get_param: public_net_id }
134 private_net_id: { get_resource: network }
135 private_subnet_id: { get_resource: subnet }
136 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100137 metadata: {"role":"master"}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200138 node_type: "master"
139 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100140
141 workers:
142 type: OS::Heat::ResourceGroup
143 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200144 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100145 properties:
146 count: { get_param: worker_size }
147 resource_def:
148 type: ./srv-group.yaml
149 properties:
150 image: { get_param: image }
151 flavor: { get_param: flavor }
152 key_name: { get_param: "OS::stack_name" }
153 public_net_id: { get_param: public_net_id }
154 private_net_id: { get_resource: network }
155 private_subnet_id: { get_resource: subnet }
156 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100157 metadata: { get_param: worker_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200158 node_type: "worker"
159 ucp_master_host: { get_attr: [ucp, server_private_ip] }
160
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100161 cmps:
162 type: OS::Heat::ResourceGroup
163 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200164 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100165 properties:
166 count: { get_param: cmp_size }
167 resource_def:
168 type: ./srv-group.yaml
169 properties:
170 image: { get_param: image }
171 flavor: { get_param: flavor }
172 key_name: { get_param: "OS::stack_name" }
173 public_net_id: { get_param: public_net_id }
174 private_net_id: { get_resource: network }
175 private_subnet_id: { get_resource: subnet }
176 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100177 metadata: { get_param: cmp_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200178 node_type: "worker"
179 ucp_master_host: { get_attr: [ucp, server_private_ip] }
180
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100181 gtws:
182 type: OS::Heat::ResourceGroup
183 depends_on:
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200184 - ucp
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100185 properties:
186 count: { get_param: gtw_size }
187 resource_def:
188 type: ./srv-group.yaml
189 properties:
190 image: { get_param: image }
191 flavor: { get_param: flavor }
192 key_name: { get_param: "OS::stack_name" }
193 public_net_id: { get_param: public_net_id }
194 private_net_id: { get_resource: network }
195 private_subnet_id: { get_resource: subnet }
196 private_floating_network: { get_resource: private_floating_network }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100197 metadata: { get_param: gtw_metadata}
Vasyl Saienko3ab29c92020-01-03 10:39:03 +0200198 node_type: "worker"
199 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100200
sgudzb94b4c62020-02-05 13:21:25 +0200201 lmas:
202 type: OS::Heat::ResourceGroup
203 depends_on:
204 - ucp
205 properties:
206 count: { get_param: lma_size }
207 resource_def:
208 type: ./srv-group.yaml
209 properties:
210 image: { get_param: image }
211 flavor: { get_param: flavor }
212 key_name: { get_param: "OS::stack_name" }
213 public_net_id: { get_param: public_net_id }
214 private_net_id: { get_resource: network }
215 private_subnet_id: { get_resource: subnet }
216 private_floating_network: { get_resource: private_floating_network }
217 metadata: { get_param: lma_metadata}
218 node_type: "worker"
219 ucp_master_host: { get_attr: [ucp, server_private_ip] }
220
221 osds:
222 type: OS::Heat::ResourceGroup
223 depends_on:
224 - ucp
225 properties:
226 count: { get_param: osd_size }
227 resource_def:
228 type: ./srv-group.yaml
229 properties:
230 image: { get_param: image }
231 flavor: { get_param: flavor }
232 key_name: { get_param: "OS::stack_name" }
233 public_net_id: { get_param: public_net_id }
234 private_net_id: { get_resource: network }
235 private_subnet_id: { get_resource: subnet }
236 private_floating_network: { get_resource: private_floating_network }
237 metadata: { get_param: osd_metadata}
238 node_type: "worker"
239 ucp_master_host: { get_attr: [ucp, server_private_ip] }
Gerrit MCPbbf9d5d2019-12-19 13:47:41 +0100240
241outputs:
242 ucp_ips:
243 description: Private IP addresses of the deployed ucp instances
244 value: { get_attr: [ucp, server_public_ip] }
245 masters_ips:
246 description: Private IP addresses of the deployed masters instances
247 value: { get_attr: [masters, server_public_ip] }
248 workers_ips:
249 description: Private IP addresses of the deployed worker instances
250 value: { get_attr: [workers, server_public_ip] }
251 cmps_ips:
252 description: Private IP addresses of the deployed cmp instances
253 value: { get_attr: [cmps, server_public_ip] }
254 gtws_ips:
255 description: Private IP addresses of the deployed gtw instances
256 value: { get_attr: [gtws, server_public_ip] }
sgudzb94b4c62020-02-05 13:21:25 +0200257 lmas_ips:
258 description: Private IP addresses of the deployed lma instances
259 value: { get_attr: [lmas, server_public_ip] }
260 osds_ips:
261 description: Private IP addresses of the deployed osd instances
262 value: { get_attr: [osds, server_public_ip] }
Oleh Hryhorov404e9572020-01-21 18:57:22 +0200263 worker_private_floating_ips:
264 description: IPs might be used as gateway
265 value: { get_attr: [workers, server_private_floating_ip] }
Oleh Hryhorov0019f592020-01-23 11:50:12 +0200266 private_floating_cidr:
267 value: { get_param: private_floating_network_cidr }