blob: 75addde124650ddd4cca70cab636f8919504b2d6 [file] [log] [blame]
Dennis Dmitriev6f59add2016-10-18 13:45:27 +03001# Copyright 2016 Mirantis, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14import copy
Dennis Dmitrieva982b2d2016-10-21 16:52:50 +030015import time
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030016
17import pytest
18
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030019from tcp_tests import settings
20from tcp_tests.helpers import ext
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030021from tcp_tests import logger
22
23LOG = logger.logger
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030024
25
26@pytest.mark.deploy
27class TestTCPInstaller(object):
28 """Test class for testing TCP deployment"""
29
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030030 salt_cmd = 'salt -l debug ' # For debug output
31 salt_call_cmd = 'salt-call -l debug ' # For debug output
32 #salt_cmd = 'salt --state-verbose=False ' # For reduced output
33 #salt_call_cmd = 'salt-call --state-verbose=False ' # For reduced output
34
35
36 @pytest.mark.steps({
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030037 1: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030038 'cmd': salt_cmd + "'cfg01*' state.sls linux",
39 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
40 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030041 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030042 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030043 2: {
44 'cmd': salt_cmd + "'cfg01*' state.sls openssh",
45 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
46 'retry': {'count': 3, 'delay': 5},
47 'skip_fail': False,
48 },
49 3: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030050 'cmd': "echo ' StrictHostKeyChecking no' >> /root/.ssh/config",
51 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
52 'retry': {'count': 1, 'delay': 1},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030053 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030054 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030055 4: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030056 'cmd': salt_cmd + "'cfg01*' state.sls salt",
57 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
58 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030059 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030060 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030061 5: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030062 'cmd': salt_cmd + "'cfg01*' state.sls reclass.storage",
63 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
64 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030065 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030066 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030067 6: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030068 'cmd': salt_cmd + "'*' saltutil.refresh_pillar",
69 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
70 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030071 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030072 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030073 7: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030074 'cmd': salt_cmd + "'ctl*' state.sls ntp",
75 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
76 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030077 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030078 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030079 8: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030080 'cmd': salt_cmd + "'ctl*' state.sls linux,salt.minion,openssh",
81 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
82 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030083 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030084 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030085 9: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030086 'cmd': salt_cmd + "'ctl01*' state.sls keepalived",
87 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
88 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030089 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030090 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030091 10: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030092 'cmd': salt_cmd + "'ctl01*' cmd.run 'ip a'",
93 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
94 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030095 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030096 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +030097 11: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030098 'cmd': salt_cmd + "'ctl0[23].*' state.sls keepalived",
99 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
100 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300101 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300102 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300103 12: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300104 'cmd': salt_cmd + "'ctl*' state.sls glusterfs.server.service",
105 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
106 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300107 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300108 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300109 13: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300110 'cmd': salt_call_cmd + "state.sls glusterfs.server.setup",
111 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
112 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300113 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300114 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300115 14: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300116 'cmd': "gluster peer status",
117 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
118 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300119 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300120 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300121 15: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300122 'cmd': "gluster volume status",
123 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
124 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300125 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300126 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300127 16: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300128 'cmd': salt_cmd + "'ctl*' state.sls rabbitmq",
129 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
130 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300131 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300132 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300133 17: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300134 'cmd': salt_call_cmd + "state.sls galera",
135 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
136 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300137 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300138 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300139 18: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300140 'cmd': salt_cmd + "'ctl0[23]*' state.sls galera",
141 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
142 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300143 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300144 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300145 19: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300146 'cmd': salt_cmd + "'ctl01*' mysql.status | grep -A1 'wsrep_incoming_addresses:'",
147 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
148 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300149 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300150 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300151 20: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300152 'cmd': salt_cmd + "'ctl*' state.sls haproxy",
153 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
154 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300155 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300156 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300157 21: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300158 'cmd': salt_cmd + "'ctl*' cmd.run 'netstat -tulnp | grep 3306'",
159 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
160 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300161 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300162 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300163 22: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300164 'cmd': salt_call_cmd + "state.sls memcached,keystone",
165 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
166 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300167 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300168 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300169 23: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300170 'cmd': salt_call_cmd + "state.sls memcached,keystone",
171 'node_name': 'ctl02.mk20-lab-advanced.local', # hardcoded for now
172 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300173 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300174 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300175 24: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300176 'cmd': salt_call_cmd + "state.sls memcached,keystone",
177 'node_name': 'ctl03.mk20-lab-advanced.local', # hardcoded for now
178 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300179 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300180 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300181 25: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300182 'cmd': "source ~/keystonerc; keystone user-list",
183 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
184 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300185 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300186 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300187 26: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300188 'cmd': "source ~/keystonerc; keystone tenant-list",
189 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
190 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300191 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300192 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300193 27: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300194 'cmd': "source ~/keystonerc; keystone endpoint-list",
195 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
196 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300197 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300198 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300199 28: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300200 'cmd': salt_cmd + "'ctl*' state.sls glance",
201 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
202 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300203 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300204 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300205 29: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300206 'cmd': salt_cmd + "'ctl*' state.sls glusterfs.client",
207 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
208 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300209 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300210 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300211 30: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300212 'cmd': salt_cmd + "'ctl*' cmd.run 'df -h'",
213 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
214 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300215 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300216 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300217 31: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300218 'cmd': salt_call_cmd + "state.sls keystone",
219 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
220 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300221 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300222 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300223 32: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300224 'cmd': ("source ~/keystonerc;"
225 "wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img;"
226 "glance image-create --name 'cirros-0.3.4'"
227 " --disk-format qcow2 --container-format bare"
228 " --progress --file /root/cirros-0.3.4-i386-disk.img;"
229 "glance image-list;"),
230 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
231 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300232 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300233 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300234 33: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300235 'cmd': salt_cmd + "'ctl*' cmd.run 'ls -al /var/lib/keystone/fernet-keys' ",
236 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
237 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300238 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300239 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300240 34: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300241 'cmd': salt_cmd + "'ctl*' cinder",
242 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
243 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300244 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300245 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300246 35: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300247 'cmd': salt_cmd + "'ctl*' nova",
248 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
249 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300250 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300251 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300252 36: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300253 'cmd': "source ~/keystonerc; cinder list",
254 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
255 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300256 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300257 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300258 37: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300259 'cmd': "source ~/keystonerc; nova-manage service list",
260 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
261 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300262 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300263 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300264 38: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300265 'cmd': "source ~/keystonerc; nova list",
266 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
267 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300268 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300269 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300270 39: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300271 'cmd': salt_cmd + "'ctl*' state.sls neutron",
272 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
273 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300274 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300275 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300276 40: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300277 'cmd': ("source ~/keystonerc;"
278 "neutron net-create --router:external=true --shared external;"
279 "neutron subnet-create external 10.177.0.0/24;"
280 "neutron floatingip-create;"),
281 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
282 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300283 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300284 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300285 41: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300286 'cmd': salt_cmd + "'ctl*' state.sls opencontrail.database",
287 'node_name': 'cfg01.mk20-lab-advanced.local', # hardcoded for now
288 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300289 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300290 },
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300291 42: {
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300292 'cmd': ("nodetool status;"
293 "nodetool compactionstats;"
294 "nodetool describecluster;"),
295 'node_name': 'ctl01.mk20-lab-advanced.local', # hardcoded for now
296 'retry': {'count': 3, 'delay': 5},
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300297 'skip_fail': False,
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300298 },
299
300 })
Dennis Dmitriev6f59add2016-10-18 13:45:27 +0300301 @pytest.mark.revert_snapshot(ext.SNAPSHOT.underlay)
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300302 # @pytest.mark.snapshot_needed
303 # @pytest.mark.fail_snapshot
304 def test_tcp_install_default(self, underlay, tcp_actions, steps, show_step):
Dennis Dmitriev6f59add2016-10-18 13:45:27 +0300305 """Test for deploying an tcp environment and check it
306
Dennis Dmitriev6f59add2016-10-18 13:45:27 +0300307 Scenario:
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300308 1. Run 'linux' formula on cfg01
309 2. Run 'openssh' formula on cfg01
310 3. *Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962
311 4. Run 'salt' formula on cfg01
312 5. Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
313 6. Refresh pillars on all minions
314 7. Configure ntp on controllers
315 8. Configure linux, openssh and salt.minion on controllers
316 9. Install keepalived on primary controller
317 10. Show VIP on primary controller
318 11. Install keepalived on other controllers
319 12. Install glusterfs on all controllers
320 13. Setup glusterfs on primary controller
321 14. Show glusterfs peer status
322 15. Show glusterfs volume status
323 16. Install RabbitMQ on all controllers
324 17. Install Galera on primary controller
325 18. Install Galera on other controllers
326 19. Check Galera addresses
327 20. Install haproxy on all controllers
328 21. Check haproxy on all controllers with Galera port
329 22. Install memcached and keystone on ctl01
330 23. Install memcached and keystone on ctl02
331 24. Install memcached and keystone on ctl03
332 25. Check keystone user-list
333 26. Check keystone tenant-list
334 27. Check keystone endpoint-list
335 28. Install glance on controllers
336 29. Install glusterfs on controllers
337 30. Check that glusterfs was added on controllers
338 31. *Workaround* Re-run keystone formula on ctl01 to create fernet keys
339 32. Check glance on ctl01
340 33. Check keystone fernet keys on controllers
341 34. Install cinder on controllers
342 35. Install nova on controllers
343 36. Check cinder status
344 37. Check nova services status
345 38. Check nova status
346 39. Install neutron on controllers
347 40. Create a neutron subnet
348 41. Install contrail database on controllers
349 42. Check cassandra status on ctl01
350
Dennis Dmitriev6f59add2016-10-18 13:45:27 +0300351
Dennis Dmitriev75fce1b2016-10-18 15:04:28 +0300352 """
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300353 for step in sorted(steps):
354 LOG.info(" #######################################################################")
355 show_step(int(step))
356 with underlay.remote(node_name=steps[step]['node_name']) as remote:
357 for x in range(steps[step]['retry']['count']):
358 result = remote.execute(steps[step]['cmd'], verbose=True)
359 if result.exit_code != 0:
Dennis Dmitrieva982b2d2016-10-21 16:52:50 +0300360 time.sleep(steps[step]['retry']['delay'])
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300361 LOG.info(" ========================= retry...")
362 else:
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300363 # Workarounds for crashed services
364 tcp_actions.check_salt_service("salt-master", "cfg01.mk20-lab-advanced.local", "salt-call pillar.items") # Hardcoded for now
365 tcp_actions.check_salt_service("salt-minion", "cfg01.mk20-lab-advanced.local", "salt 'cfg01*' pillar.items") # Hardcoded for now
Dennis Dmitriev474e3f72016-10-21 16:46:09 +0300366 break
Dennis Dmitriev423a7ff2016-10-21 18:31:36 +0300367
368 if x == 1 and steps[step]['skip_fail'] == False:
369 # In the last retry iteration, raise an exception
370 raise Exception("Step {0} failed".format(step))