blob: ae2871db0eac34c3ed1f670902dfde8878dc267f [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 Dmitriev474e3f72016-10-21 16:46:09 +030037 # @pytest.mark.snapshot_needed
38 # @pytest.mark.fail_snapshot
Dennis Dmitriev9cc4ca32016-11-03 13:50:45 +020039 def test_tcp_install_default(self, underlay, openstack_deployed,
40 show_step, rally):
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030041 """Test for deploying an tcp environment and check it
42
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030043 Scenario:
Dennis Dmitriev4be178c2016-10-25 13:17:46 +030044 1. Prepare salt on hosts
45 2. Setup controller nodes
46 3. Setup compute nodes
Dennis Dmitriev6f59add2016-10-18 13:45:27 +030047
Dennis Dmitriev75fce1b2016-10-18 15:04:28 +030048 """
dis58f25882016-12-06 19:13:15 +020049 LOG.info("*************** DONE **************")
50
51 def test_tcp_install_run_rally(self, underlay, openstack_deployed,
52 show_step, rally):
53 """Test for deploying an tcp environment and check it
54
55 Scenario:
56 1. Prepare salt on hosts
57 2. Setup controller nodes
58 3. Setup compute nodes
59
60 """
Dennis Dmitriev9cc4ca32016-11-03 13:50:45 +020061 # prepare rally
62 rally.prepare()
63 rally.pull_image()
64 rally.run()
65 # run tempest
66 rally.run_tempest()
67
68 res = rally.get_results()
69
70 fail_msg = 'Tempest verification fails {}'.format(res)
71 assert res['failures'] == 0, fail_msg
Dennis Dmitriev1a745e32016-11-07 14:40:28 +020072
Dennis Dmitriev1a745e32016-11-07 14:40:28 +020073 # @pytest.mark.snapshot_needed
74 # @pytest.mark.fail_snapshot
75 def test_tcp_install_with_scripts(self, config, underlay, salt_deployed,
76 show_step, rally):
77 """Test for deploying an tcp environment with scripts and check it
78
79 Scenario:
80 1. Prepare salt on hosts
81 2. Setup controller nodes
82 3. Setup compute nodes
83
84 """
85
86 cmd = 'cd /srv/salt/reclass/scripts/; ./bootstrap_all.sh'
87 underlay.check_call(cmd, host=config.salt.salt_master_host, verbose=True)
88
89 # prepare rally
90 rally.prepare()
91 rally.pull_image()
92 rally.run()
93 # run tempest
94 rally.run_tempest()
95
96 res = rally.get_results()
97
98 fail_msg = 'Tempest verification fails {}'.format(res)
99 assert res['failures'] == 0, fail_msg