blob: dcb31d6886e849938b9a4c1bc0397d23eef5cf1e [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 Dmitriev4be178c2016-10-25 13:17:46 +030030 #salt_cmd = 'salt -l debug ' # For debug output
31 #salt_call_cmd = 'salt-call -l debug ' # For debug output
Dennis Dmitriev23e5d192016-10-31 11:27:10 +020032 salt_cmd = 'salt --hard-crash --state-output=mixed --state-verbose=False ' # For cause only output
33 salt_call_cmd = 'salt-call --hard-crash --state-output=mixed --state-verbose=False ' # For cause only output
Dennis Dmitriev4be178c2016-10-25 13:17:46 +030034 #salt_cmd = 'salt --state-output=terse --state-verbose=False ' # For reduced output
35 #salt_call_cmd = 'salt-call --state-output=terse --state-verbose=False ' # For reduced output
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030036
Dennis Dmitriev010f4cd2016-11-01 20:43:51 +020037 @pytest.mark.revert_snapshot(ext.SNAPSHOT.openstack_deployed)
Dennis Dmitriev474e3f72016-10-21 16:46:09 +030038 # @pytest.mark.snapshot_needed
39 # @pytest.mark.fail_snapshot
Dennis Dmitriev9cc4ca32016-11-03 13:50:45 +020040 def test_tcp_install_default(self, underlay, openstack_deployed,
41 show_step, rally):
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030042 """Test for deploying an tcp environment and check it
43
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030044 Scenario:
Dennis Dmitriev4be178c2016-10-25 13:17:46 +030045 1. Prepare salt on hosts
46 2. Setup controller nodes
47 3. Setup compute nodes
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030048
Dennis Dmitriev75fce1b2016-10-18 15:04:28 +030049 """
Dennis Dmitriev9cc4ca32016-11-03 13:50:45 +020050 # prepare rally
51 rally.prepare()
52 rally.pull_image()
53 rally.run()
54 # run tempest
55 rally.run_tempest()
56
57 res = rally.get_results()
58
59 fail_msg = 'Tempest verification fails {}'.format(res)
60 assert res['failures'] == 0, fail_msg
Dennis Dmitriev1a745e32016-11-07 14:40:28 +020061
62 @pytest.mark.revert_snapshot(ext.SNAPSHOT.salt_deployed)
63 # @pytest.mark.snapshot_needed
64 # @pytest.mark.fail_snapshot
65 def test_tcp_install_with_scripts(self, config, underlay, salt_deployed,
66 show_step, rally):
67 """Test for deploying an tcp environment with scripts and check it
68
69 Scenario:
70 1. Prepare salt on hosts
71 2. Setup controller nodes
72 3. Setup compute nodes
73
74 """
75
76 cmd = 'cd /srv/salt/reclass/scripts/; ./bootstrap_all.sh'
77 underlay.check_call(cmd, host=config.salt.salt_master_host, verbose=True)
78
79 # prepare rally
80 rally.prepare()
81 rally.pull_image()
82 rally.run()
83 # run tempest
84 rally.run_tempest()
85
86 res = rally.get_results()
87
88 fail_msg = 'Tempest verification fails {}'.format(res)
89 assert res['failures'] == 0, fail_msg