blob: 832c5eead667ade94c6a438051b33c3e68594f74 [file] [log] [blame]
Oleksii Butenko7c48def2017-10-03 12:41:05 +03001{% from 'cookied-bm-mcp-ocata-dvr-vxlan/underlay.yaml' import HOSTNAME_CFG01 with context %}
2{% from 'cookied-bm-mcp-ocata-dvr-vxlan/underlay.yaml' import HOSTNAME_CTL01 with context %}
3{% from 'cookied-bm-mcp-ocata-dvr-vxlan/underlay.yaml' import HOSTNAME_CTL02 with context %}
4{% from 'cookied-bm-mcp-ocata-dvr-vxlan/underlay.yaml' import HOSTNAME_CTL03 with context %}
5{% from 'cookied-bm-mcp-ocata-dvr-vxlan/underlay.yaml' import HOSTNAME_GTW01 with context %}
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +03006{% from 'cookied-bm-mcp-ocata-dvr-vxlan/underlay.yaml' import HOSTNAME_GTW02 with context %}
Oleksii Butenko7c48def2017-10-03 12:41:05 +03007{% from 'shared-salt.yaml' import IPV4_NET_EXTERNAL_PREFIX with context %}
8{% from 'shared-salt.yaml' import IPV4_NET_TENANT_PREFIX with context %}
9{% set PATTERN = os_env('PATTERN', 'smoke') %}
10
11# Install OpenStack control services
12
13- description: Install glance on all controllers
14 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
15 -C 'I@glance:server' state.sls glance -b 1
16 node_name: {{ HOSTNAME_CFG01 }}
17 retry: {count: 1, delay: 5}
18 skip_fail: false
19
20- description: Install keystone service (note that different fernet keys are created on different nodes)
21 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
22 -C 'I@keystone:server' state.sls keystone.server -b 1
23 node_name: {{ HOSTNAME_CFG01 }}
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +030024 retry: {count: 3, delay: 15}
Oleksii Butenko7c48def2017-10-03 12:41:05 +030025 skip_fail: false
26
27- description: Restart apache due to PROD-10477
28 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run "systemctl restart apache2"
29 node_name: {{ HOSTNAME_CFG01 }}
30 retry: {count: 1, delay: 15}
31 skip_fail: false
32
33- description: Check apache status to PROD-10477
34 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run "systemctl status apache2"
35 node_name: {{ HOSTNAME_CFG01 }}
36 retry: {count: 1, delay: 15}
37 skip_fail: false
38
39- description: Mount glusterfs.client volumes (resuires created 'keystone' and 'glusterfs' system users)
40 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
41 -C 'I@glance:server' state.sls glusterfs.client
42 node_name: {{ HOSTNAME_CFG01 }}
43 retry: {count: 1, delay: 5}
44 skip_fail: false
45
46- description: Update fernet keys for keystone server on the mounted glusterfs volume
47 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
48 -C 'I@keystone:server' state.sls keystone.server -b 1
49 node_name: {{ HOSTNAME_CFG01 }}
50 retry: {count: 1, delay: 5}
51 skip_fail: false
52
53- description: Populate keystone services/tenants/admins
54 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
55 -C 'I@keystone:client' state.sls keystone.client
56 node_name: {{ HOSTNAME_CFG01 }}
57 retry: {count: 1, delay: 5}
58 skip_fail: false
59
60- description: Check keystone service-list
61 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
62 -C 'I@keystone:server' cmd.run '. /root/keystonercv3; openstack service list'
63 node_name: {{ HOSTNAME_CFG01 }}
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +030064 retry: {count: 3, delay: 5}
Oleksii Butenko7c48def2017-10-03 12:41:05 +030065 skip_fail: false
66
67- description: Check glance image-list
68 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
69 -C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
70 node_name: {{ HOSTNAME_CFG01 }}
71 retry: {count: 1, delay: 5}
72 skip_fail: false
73
74
75- description: Install nova on all controllers
76 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
77 -C 'I@nova:controller' state.sls nova -b 1
78 node_name: {{ HOSTNAME_CFG01 }}
79 retry: {count: 2, delay: 5}
80 skip_fail: false
81
82- description: Check nova service-list
83 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
84 -C 'I@keystone:server' cmd.run '. /root/keystonerc; nova --debug service-list'
85 node_name: {{ HOSTNAME_CFG01 }}
86 retry: {count: 3, delay: 5}
87 skip_fail: false
88
89
90- description: Install cinder
91 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
92 -C 'I@cinder:controller' state.sls cinder -b 1
93 node_name: {{ HOSTNAME_CFG01 }}
94 retry: {count: 1, delay: 5}
95 skip_fail: false
96
97- description: Check cinder list
98 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
99 -C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
100 node_name: {{ HOSTNAME_CFG01 }}
101 retry: {count: 1, delay: 5}
102 skip_fail: false
103
104
105- description: Install neutron service
106 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
107 -C 'I@neutron:server' state.sls neutron -b 1
108 node_name: {{ HOSTNAME_CFG01 }}
109 retry: {count: 1, delay: 5}
110 skip_fail: false
111
112- description: Install neutron on gtw node
113 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
114 -C 'I@neutron:gateway' state.sls neutron
115 node_name: {{ HOSTNAME_CFG01 }}
116 retry: {count: 1, delay: 5}
117 skip_fail: false
118
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +0300119# isntall designate
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300120- description: Install powerdns
121 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
122 -C 'ctl*' state.sls powerdns
123 node_name: {{ HOSTNAME_CFG01 }}
124 retry: {count: 1, delay: 5}
125 skip_fail: false
126
127- description: Install designate
128 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
129 -C 'I@designate:server' state.sls designate -b 1
130 node_name: {{ HOSTNAME_CFG01 }}
131 retry: {count: 5, delay: 10}
132 skip_fail: false
133
134- description: Check neutron agent-list
135 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
136 -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
137 node_name: {{ HOSTNAME_CFG01 }}
138 retry: {count: 1, delay: 5}
139 skip_fail: false
140
141- description: Install heat service
142 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
143 -C 'I@heat:server' state.sls heat -b 1
144 node_name: {{ HOSTNAME_CFG01 }}
145 retry: {count: 1, delay: 5}
146 skip_fail: false
147
148- description: Check heat service
149 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
150 -C 'I@keystone:server' cmd.run '. /root/keystonercv3; openstack orchestration resource type list'
151 node_name: {{ HOSTNAME_CFG01 }}
152 retry: {count: 5, delay: 10}
153 skip_fail: false
154
155
156- description: Deploy horizon dashboard
157 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
158 -C 'I@horizon:server' state.sls horizon
159 node_name: {{ HOSTNAME_CFG01 }}
160 retry: {count: 1, delay: 5}
161 skip_fail: true
162
163- description: Deploy nginx proxy
164 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
165 -C 'I@nginx:server' state.sls nginx
166 node_name: {{ HOSTNAME_CFG01 }}
167 retry: {count: 1, delay: 5}
168 skip_fail: true
169
170
171# Install compute node
172
173- description: Apply formulas for compute node
174 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
175 node_name: {{ HOSTNAME_CFG01 }}
176 retry: {count: 1, delay: 5}
177 skip_fail: true
178
179- description: Re-apply(as in doc) formulas for compute node
180 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
181 node_name: {{ HOSTNAME_CFG01 }}
182 retry: {count: 1, delay: 5}
183 skip_fail: true
184
185- description: Check IP on computes
186 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
187 'ip a'
188 node_name: {{ HOSTNAME_CFG01 }}
189 retry: {count: 10, delay: 30}
190 skip_fail: false
191
192
193 # Upload cirros image
194
195- description: Upload cirros image on ctl01
196 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
197 'wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img'
198 node_name: {{ HOSTNAME_CFG01 }}
199 retry: {count: 2, delay: 30}
200 skip_fail: false
201
202- description: Register image in glance
203 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
204 '. /root/keystonercv3; glance image-create --name cirros --visibility public --disk-format qcow2 --container-format bare --progress < /root/cirros-0.3.4-i386-disk.img'
205 node_name: {{ HOSTNAME_CFG01 }}
206 retry: {count: 1, delay: 30}
207 skip_fail: false
208
209- description: Create net04_external
210 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
211 '. /root/keystonercv3; neutron net-create net04_ext --router:external True --provider:physical_network physnet1 --provider:network_type flat'
212 node_name: {{ HOSTNAME_CFG01 }}
213 retry: {count: 1, delay: 30}
214 skip_fail: false
215
216- description: Create subnet_external
217 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
218 '. /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'
219 node_name: {{ HOSTNAME_CFG01 }}
220 retry: {count: 1, delay: 30}
221 skip_fail: false
222
223- description: Create net04
224 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
225 '. /root/keystonercv3; neutron net-create net04'
226 node_name: {{ HOSTNAME_CFG01 }}
227 retry: {count: 1, delay: 30}
228 skip_fail: false
229
230- description: Create subnet_net04
231 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
232 '. /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 }}.240'
233 node_name: {{ HOSTNAME_CFG01 }}
234 retry: {count: 1, delay: 30}
235 skip_fail: false
236
237- description: Create router
238 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
239 '. /root/keystonercv3; neutron router-create net04_router01'
240 node_name: {{ HOSTNAME_CFG01 }}
241 retry: {count: 1, delay: 30}
242 skip_fail: false
243
244- description: Set geteway
245 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
246 '. /root/keystonercv3; neutron router-gateway-set net04_router01 net04_ext'
247 node_name: {{ HOSTNAME_CFG01 }}
248 retry: {count: 1, delay: 30}
249 skip_fail: false
250
251- description: Add interface
252 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
253 '. /root/keystonercv3; neutron router-interface-add net04_router01 net04__subnet'
254 node_name: {{ HOSTNAME_CFG01 }}
255 retry: {count: 1, delay: 30}
256 skip_fail: false
257
258- description: Allow all tcp
259 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
260 '. /root/keystonercv3; nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0'
261 node_name: {{ HOSTNAME_CFG01 }}
262 retry: {count: 1, delay: 30}
263 skip_fail: false
264
265- description: Allow all icmp
266 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
267 '. /root/keystonercv3; nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0'
268 node_name: {{ HOSTNAME_CFG01 }}
269 retry: {count: 1, delay: 30}
270 skip_fail: false
271
272- description: sync time
273 cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run
274 'service ntp stop; ntpd -gq; service ntp start'
275 node_name: {{ HOSTNAME_CFG01 }}
276 retry: {count: 1, delay: 30}
277 skip_fail: false
278
279- description: Temp workaround of PROD-13167
280 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run
281 'apt-get install python-pymysql -y'
282 node_name: {{ HOSTNAME_CFG01 }}
283 retry: {count: 1, delay: 30}
284 skip_fail: false
285
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +0300286# Add volume to ctl01 for Cinder-volume
287
288- description: Create dir for image
289 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'kvm01*' cmd.run
290 'mkdir /var/lib/libvirt/images/ctl01.cookied-bm-mcp-ocata-dvr-vxlan'
291 node_name: {{ HOSTNAME_CFG01 }}
292 retry: {count: 10, delay: 30}
293 skip_fail: false
294
295- description: Create image
296 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'kvm01*' cmd.run
297 'qemu-img create -f raw /var/lib/libvirt/images/ctl01.cookied-bm-mcp-ocata-dvr-vxlan/extend.img 60G'
298 node_name: {{ HOSTNAME_CFG01 }}
299 retry: {count: 10, delay: 30}
300 skip_fail: false
301
302- description: Attach image
303 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'kvm01*' cmd.run
304 'virsh attach-disk ctl01.cookied-bm-mcp-ocata-dvr-vxlan --source /var/lib/libvirt/images/ctl01.cookied-bm-mcp-ocata-dvr-vxlan/extend.img --target vdb --persistent'
305 node_name: {{ HOSTNAME_CFG01 }}
306 retry: {count: 10, delay: 30}
307 skip_fail: false
308
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300309# Configure cinder-volume salt-call PROD-13167
310- description: Set disks 01
311 cmd: salt-call cmd.run 'echo -e "nn\np\n\n\n\nw" | fdisk /dev/vdb'
312 node_name: {{ HOSTNAME_CTL01 }}
313 retry: {count: 1, delay: 30}
314 skip_fail: false
315
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300316- description: Create partitions 01
317 cmd: salt-call cmd.run 'pvcreate /dev/vdb1'
318 node_name: {{ HOSTNAME_CTL01 }}
319 retry: {count: 1, delay: 30}
320 skip_fail: false
321
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300322- description: create volume_group
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +0300323 cmd: salt "ctl01*" cmd.run 'vgcreate cinder-volumes /dev/vdb1'
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300324 node_name: {{ HOSTNAME_CFG01 }}
325 retry: {count: 1, delay: 30}
326 skip_fail: false
327
328- description: Install cinder-volume
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +0300329 cmd: salt 'ctl01*' cmd.run 'apt-get install cinder-volume -y'
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300330 node_name: {{ HOSTNAME_CFG01 }}
331 retry: {count: 1, delay: 30}
332 skip_fail: false
333
334- description: Install crudini
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +0300335 cmd: salt "ctl01*" cmd.run 'apt-get install crudini -y'
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300336 node_name: {{ HOSTNAME_CFG01 }}
337 retry: {count: 1, delay: 30}
338 skip_fail: false
339
340- description: Temporary WR set enabled backends value 01
341 cmd: salt-call cmd.run 'crudini --verbose --set /etc/cinder/cinder.conf DEFAULT enabled_backends lvm'
342 node_name: {{ HOSTNAME_CTL01 }}
343 retry: {count: 1, delay: 30}
344 skip_fail: false
345
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300346- description: Install docker.io on gtw
Oleksii Butenkobb46b0b2017-10-24 11:11:48 +0300347 cmd: salt 'gtw01*' cmd.run 'apt-get install docker.io -y'
348 node_name: {{ HOSTNAME_CFG01 }}
Oleksii Butenko7c48def2017-10-03 12:41:05 +0300349 retry: {count: 1, delay: 30}
350 skip_fail: false
351
352- description: create rc file on cfg
353 cmd: scp ctl01:/root/keystonercv3 /root
354 node_name: {{ HOSTNAME_CFG01 }}
355 retry: {count: 1, delay: 30}
356 skip_fail: false
357
358- description: Copy rc file
359 cmd: scp /root/keystonercv3 gtw01:/root
360 node_name: {{ HOSTNAME_CFG01 }}
361 retry: {count: 1, delay: 30}
362 skip_fail: false
363
364- description: Run tests
365 cmd: |
366 if [[ {{ PATTERN }} == "false" ]]; then
367 docker run --rm --net=host -e TEMPEST_CONF=lvm_mcp.conf -e SKIP_LIST=mcp_skip.list -e SOURCE_FILE=keystonercv3 -v /etc/ssl/certs/:/etc/ssl/certs/ -v /root/:/home/rally docker-sandbox.sandbox.mirantis.net/rally-tempest/rally-tempest:with_designate >> image.output
368 else
369 docker run --rm --net=host -e TEMPEST_CONF=lvm_mcp.conf -e SKIP_LIST=mcp_skip.list -e SOURCE_FILE=keystonercv3 -v /etc/ssl/certs/:/etc/ssl/certs/ -e CUSTOM='--pattern {{ PATTERN }}' -v /root/:/home/rally docker-sandbox.sandbox.mirantis.net/rally-tempest/rally-tempest:with_designate >> image.output
370 fi
371 node_name: {{ HOSTNAME_GTW01 }}
372 retry: {count: 1, delay: 5}
373 skip_fail: false
374
375- description: Download xml results
376 download:
377 remote_path: /root
378 remote_filename: "report_*.xml"
379 local_path: {{ os_env('PWD') }}
380 node_name: {{ HOSTNAME_GTW01 }}
381 skip_fail: true
382
383- description: Download html results
384 download:
385 remote_path: /root
386 remote_filename: "report_*.html"
387 local_path: {{ os_env('PWD') }}
388 node_name: {{ HOSTNAME_GTW01 }}
389 skip_fail: true