blob: cd2ab78d79409c3a8658fc15b2ad79ab3311dfca [file] [log] [blame]
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +02001{% from 'virtual-mcp-pike-dvr/underlay.yaml' import HOSTNAME_CFG01 with context %}
2{% from 'virtual-mcp-pike-dvr/underlay.yaml' import HOSTNAME_CTL01 with context %}
3{% from 'virtual-mcp-pike-dvr/underlay.yaml' import HOSTNAME_CTL02 with context %}
4{% from 'virtual-mcp-pike-dvr/underlay.yaml' import HOSTNAME_CTL03 with context %}
5{% from 'virtual-mcp-pike-dvr/underlay.yaml' import HOSTNAME_GTW01 with context %}
Oleksii Butenkoc05c9f62018-04-19 19:00:02 +03006{% from 'virtual-mcp-pike-dvr/underlay.yaml' import LAB_CONFIG_NAME with context %}
7{% from 'virtual-mcp-pike-dvr/underlay.yaml' import DOMAIN_NAME with context %}
Tatyana Leontovich56005da2017-12-11 13:16:51 +02008{% from 'shared-salt.yaml' import IPV4_NET_EXTERNAL_PREFIX with context %}
9{% from 'shared-salt.yaml' import IPV4_NET_TENANT_PREFIX with context %}
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020010{% set OVERRIDE_POLICY = os_env('OVERRIDE_POLICY', '') %}
Oleksii Butenkoc05c9f62018-04-19 19:00:02 +030011{% import 'shared-salt.yaml' as SHARED with context %}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020012
13# Install OpenStack control services
14
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020015{%- if OVERRIDE_POLICY != '' %}
16- description: Upload policy override
17 upload:
18 local_path: {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
19 local_filename: overrides-policy.yml
20 remote_path: /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/
21 node_name: {{ HOSTNAME_CFG01 }}
22
23- description: Create custom cluster control class
24 cmd: echo -e "classes:\n- cluster.{{ LAB_CONFIG_NAME }}.openstack.control_orig\n$(cat /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/overrides-policy.yml)" > /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/overrides-policy.yml
25 node_name: {{ HOSTNAME_CFG01 }}
26
27- description: Rename control classes
28 cmd: mv /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/control.yml /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/control_orig.yml &&
29 ln -s /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/overrides-policy.yml /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/control.yml &&
30 salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.sync_all &&
31 salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
32 node_name: {{ HOSTNAME_CFG01 }}
33{%- endif %}
34
Tatyana Leontovich56005da2017-12-11 13:16:51 +020035- description: Install glance on all controllers
36 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
37 -C 'I@glance:server' state.sls glance -b 1
38 node_name: {{ HOSTNAME_CFG01 }}
39 retry: {count: 1, delay: 5}
40 skip_fail: false
41
42- description: Install keystone service (note that different fernet keys are created on different nodes)
43 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
44 -C 'I@keystone:server' state.sls keystone.server -b 1
45 node_name: {{ HOSTNAME_CFG01 }}
46 retry: {count: 2, delay: 15}
47 skip_fail: false
48
49- description: Restart apache due to PROD-10477
50 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run "systemctl restart apache2"
51 node_name: {{ HOSTNAME_CFG01 }}
52 retry: {count: 1, delay: 15}
53 skip_fail: false
54
55- description: Check apache status to PROD-10477
56 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run "systemctl status apache2"
57 node_name: {{ HOSTNAME_CFG01 }}
58 retry: {count: 1, delay: 15}
59 skip_fail: false
60
61- description: Mount glusterfs.client volumes (resuires created 'keystone' and 'glusterfs' system users)
62 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
63 -C 'I@glance:server' state.sls glusterfs.client
64 node_name: {{ HOSTNAME_CFG01 }}
65 retry: {count: 1, delay: 5}
66 skip_fail: false
67
68- description: Update fernet keys for keystone server on the mounted glusterfs volume
69 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
70 -C 'I@keystone:server' state.sls keystone.server -b 1
71 node_name: {{ HOSTNAME_CFG01 }}
72 retry: {count: 1, delay: 5}
73 skip_fail: false
74
75- description: Populate keystone services/tenants/admins
76 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
77 -C 'I@keystone:client' state.sls keystone.client
78 node_name: {{ HOSTNAME_CFG01 }}
Dennis Dmitrievf073e6f2018-02-06 23:45:15 +020079 retry: {count: 2, delay: 5}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020080 skip_fail: false
81
82- description: Check keystone service-list
83 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
84 -C 'I@keystone:server' cmd.run '. /root/keystonercv3; openstack service list'
85 node_name: {{ HOSTNAME_CFG01 }}
86 retry: {count: 1, delay: 5}
87 skip_fail: false
88
89- description: Check glance image-list
90 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020091 -C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
Tatyana Leontovich56005da2017-12-11 13:16:51 +020092 node_name: {{ HOSTNAME_CFG01 }}
93 retry: {count: 1, delay: 5}
94 skip_fail: false
95
96
97- description: Install nova on all controllers
98 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
99 -C 'I@nova:controller' state.sls nova -b 1
100 node_name: {{ HOSTNAME_CFG01 }}
101 retry: {count: 2, delay: 5}
102 skip_fail: false
103
104- description: Check nova service-list
105 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200106 -C 'I@keystone:server' cmd.run '. /root/keystonerc; nova --debug service-list'
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200107 node_name: {{ HOSTNAME_CFG01 }}
108 retry: {count: 3, delay: 5}
109 skip_fail: false
110
111
112- description: Install cinder
113 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
114 -C 'I@cinder:controller' state.sls cinder -b 1
115 node_name: {{ HOSTNAME_CFG01 }}
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200116 retry: {count: 1, delay: 5}
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200117 skip_fail: false
118
119- description: Check cinder list
120 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200121 -C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200122 node_name: {{ HOSTNAME_CFG01 }}
123 retry: {count: 1, delay: 5}
124 skip_fail: false
125
126
127- description: Install neutron service
128 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
129 -C 'I@neutron:server' state.sls neutron -b 1
130 node_name: {{ HOSTNAME_CFG01 }}
131 retry: {count: 1, delay: 5}
132 skip_fail: false
133
134- description: Install neutron on gtw node
135 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
136 -C 'I@neutron:gateway' state.sls neutron
137 node_name: {{ HOSTNAME_CFG01 }}
138 retry: {count: 1, delay: 5}
139 skip_fail: false
140
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200141# isntall designate
142- description: Install powerdns
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200143 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200144 -C 'I@powerdns:server' state.sls powerdns.server
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200145 node_name: {{ HOSTNAME_CFG01 }}
146 retry: {count: 1, delay: 5}
147 skip_fail: false
148
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200149- description: Install designate
150 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
151 -C 'I@designate:server' state.sls designate -b 1
152 node_name: {{ HOSTNAME_CFG01 }}
153 retry: {count: 5, delay: 10}
154 skip_fail: false
155
156- description: Check neutron agent-list
157 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
158 -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
159 node_name: {{ HOSTNAME_CFG01 }}
160 retry: {count: 1, delay: 5}
161 skip_fail: false
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200162
163- description: Install heat service
164 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
165 -C 'I@heat:server' state.sls heat -b 1
166 node_name: {{ HOSTNAME_CFG01 }}
167 retry: {count: 1, delay: 5}
168 skip_fail: false
169
170- description: Check heat service
171 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
172 -C 'I@keystone:server' cmd.run '. /root/keystonercv3; openstack orchestration resource type list'
173 node_name: {{ HOSTNAME_CFG01 }}
174 retry: {count: 5, delay: 10}
175 skip_fail: false
176
177
178- description: Deploy horizon dashboard
179 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
180 -C 'I@horizon:server' state.sls horizon
181 node_name: {{ HOSTNAME_CFG01 }}
182 retry: {count: 1, delay: 5}
183 skip_fail: true
184
185- description: Deploy nginx proxy
186 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
187 -C 'I@nginx:server' state.sls nginx
188 node_name: {{ HOSTNAME_CFG01 }}
189 retry: {count: 1, delay: 5}
190 skip_fail: true
191
192
193# Install compute node
194
195- description: Apply formulas for compute node
196 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
197 node_name: {{ HOSTNAME_CFG01 }}
198 retry: {count: 1, delay: 5}
199 skip_fail: true
200
201- description: Re-apply(as in doc) formulas for compute node
202 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
203 node_name: {{ HOSTNAME_CFG01 }}
204 retry: {count: 1, delay: 5}
Oleksii Butenko9f2601c2018-02-08 15:13:21 +0200205 skip_fail: false
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200206
207- description: Check IP on computes
208 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
209 'ip a'
210 node_name: {{ HOSTNAME_CFG01 }}
211 retry: {count: 10, delay: 30}
212 skip_fail: false
213
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200214- description: Create net04_external
215 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
216 '. /root/keystonercv3; neutron net-create net04_ext --router:external True --provider:physical_network physnet1 --provider:network_type flat'
217 node_name: {{ HOSTNAME_CFG01 }}
218 retry: {count: 1, delay: 30}
219 skip_fail: false
220
221- description: Create subnet_external
222 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
223 '. /root/keystonercv3; neutron subnet-create net04_ext {{ IPV4_NET_EXTERNAL_PREFIX }}.0/24 --name net04_ext__subnet --disable-dhcp --allocation-pool start={{ IPV4_NET_EXTERNAL_PREFIX }}.150,end={{ IPV4_NET_EXTERNAL_PREFIX }}.180 --gateway {{ IPV4_NET_EXTERNAL_PREFIX }}.1'
224 node_name: {{ HOSTNAME_CFG01 }}
225 retry: {count: 1, delay: 30}
226 skip_fail: false
227
228- description: Create net04
229 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
230 '. /root/keystonercv3; neutron net-create net04'
231 node_name: {{ HOSTNAME_CFG01 }}
232 retry: {count: 1, delay: 30}
233 skip_fail: false
234
235- description: Create subnet_net04
236 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
Tatyana Leontovich7305c412018-04-27 00:26:27 +0300237 '. /root/keystonercv3; neutron subnet-create net04 {{ IPV4_NET_TENANT_PREFIX }}.0/24 --name net04__subnet --allocation-pool start={{ IPV4_NET_TENANT_PREFIX }}.120,end={{ IPV4_NET_TENANT_PREFIX }}.180'
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200238 node_name: {{ HOSTNAME_CFG01 }}
239 retry: {count: 1, delay: 30}
240 skip_fail: false
241
242- description: Create router
243 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
244 '. /root/keystonercv3; neutron router-create net04_router01'
245 node_name: {{ HOSTNAME_CFG01 }}
246 retry: {count: 1, delay: 30}
247 skip_fail: false
248
249- description: Set geteway
250 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
251 '. /root/keystonercv3; neutron router-gateway-set net04_router01 net04_ext'
252 node_name: {{ HOSTNAME_CFG01 }}
253 retry: {count: 1, delay: 30}
254 skip_fail: false
255
256- description: Add interface
257 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
258 '. /root/keystonercv3; neutron router-interface-add net04_router01 net04__subnet'
259 node_name: {{ HOSTNAME_CFG01 }}
260 retry: {count: 1, delay: 30}
261 skip_fail: false
262
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200263- description: sync time
264 cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run
265 'service ntp stop; ntpd -gq; service ntp start'
266 node_name: {{ HOSTNAME_CFG01 }}
267 retry: {count: 1, delay: 30}
268 skip_fail: false
269
270- description: Install docker.io on gtw
271 cmd: salt-call cmd.run 'apt-get install docker.io -y'
272 node_name: {{ HOSTNAME_GTW01 }}
273 retry: {count: 1, delay: 30}
274 skip_fail: false
275
Tatyana Leontovichd6bcbc92018-03-23 15:02:28 +0200276- description: Enable forward policy
277 cmd: iptables --policy FORWARD ACCEPT
278 node_name: {{ HOSTNAME_GTW01 }}
279 retry: {count: 1, delay: 30}
280 skip_fail: false
281
sgudz3fd44542018-04-02 11:45:49 +0300282- description: Install manila-api on first node
283 cmd: |
284 salt -C 'I@manila:api and *01*' state.sls manila.api;
285 node_name: {{ HOSTNAME_CFG01 }}
286 retry: {count: 1, delay: 5}
287 skip_fail: false
288
289- description: Install manila-api on other nodes
290 cmd: |
291 salt -C 'I@manila:api and not *01*' state.sls manila.api;
292 node_name: {{ HOSTNAME_CFG01 }}
293 retry: {count: 1, delay: 5}
294 skip_fail: false
295
296- description: Install manila-scheduler
297 cmd: |
298 salt -C 'I@manila:scheduler' state.sls manila.scheduler;
299 node_name: {{ HOSTNAME_CFG01 }}
300 retry: {count: 1, delay: 5}
301 skip_fail: false
302
303- description: Install manila-share
304 cmd: |
305 salt -C 'I@manila:share' state.sls manila.share;
306 node_name: {{ HOSTNAME_CFG01 }}
307 retry: {count: 1, delay: 5}
308 skip_fail: false
309
Tatyana Leontovich3cc1c132018-04-03 00:41:17 +0300310- description: WR https://mirantis.jira.com/browse/PROD-19012
311 cmd: |
Tatyana Leontovich1618a2a2018-04-03 10:19:25 +0300312 salt 'ctl*' cmd.run 'systemctl restart apache2'
Tatyana Leontovich3cc1c132018-04-03 00:41:17 +0300313 node_name: {{ HOSTNAME_CFG01 }}
314 retry: {count: 1, delay: 5}
315 skip_fail: false
316
sgudz3fd44542018-04-02 11:45:49 +0300317- description: Check manila-services
318 cmd: |
319 salt 'ctl01*' cmd.run '. /root/keystonercv3; manila service-list'
320 node_name: {{ HOSTNAME_CFG01 }}
Tatyana Leontovich1618a2a2018-04-03 10:19:25 +0300321 retry: {count: 3, delay: 15}
sgudz3fd44542018-04-02 11:45:49 +0300322 skip_fail: false
323
324- description: Create manila type
325 cmd: |
sgudz1d658402018-04-06 11:59:48 +0300326 salt 'ctl01*' cmd.run '. /root/keystonercv3; manila type-create default false --create_share_from_snapshot_support true --revert_to_snapshot_support true --mount_snapshot_support true --snapshot_support true --is_public true'
sgudz3fd44542018-04-02 11:45:49 +0300327 node_name: {{ HOSTNAME_CFG01 }}
328 retry: {count: 1, delay: 5}
329 skip_fail: false
330
331- description: Create CIFS and NFS share and check it status
332 cmd: |
333 salt 'ctl01*' cmd.run '. /root/keystonercv3; manila create CIFS 1 --share-type=default';
334 salt 'ctl01*' cmd.run '. /root/keystonercv3; manila create NFS 1 --share-type=default';
335 sleep 5;
336 salt 'ctl01*' cmd.run '. /root/keystonercv3; manila list';
337 node_name: {{ HOSTNAME_CFG01 }}
338 retry: {count: 1, delay: 5}
339 skip_fail: false
Oleksii Butenkoc05c9f62018-04-19 19:00:02 +0300340
341{{ SHARED.RUN_NEW_TEMPEST() }}