blob: 794afb2b356a16a3f70ff7be39ce15dc7fe6f81e [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 """
Dennis Dmitriev9cc4ca32016-11-03 13:50:45 +020049 # prepare rally
50 rally.prepare()
51 rally.pull_image()
52 rally.run()
53 # run tempest
54 rally.run_tempest()
55
56 res = rally.get_results()
57
58 fail_msg = 'Tempest verification fails {}'.format(res)
59 assert res['failures'] == 0, fail_msg
Dennis Dmitriev1a745e32016-11-07 14:40:28 +020060
Dennis Dmitriev1a745e32016-11-07 14:40:28 +020061 # @pytest.mark.snapshot_needed
62 # @pytest.mark.fail_snapshot
63 def test_tcp_install_with_scripts(self, config, underlay, salt_deployed,
64 show_step, rally):
65 """Test for deploying an tcp environment with scripts and check it
66
67 Scenario:
68 1. Prepare salt on hosts
69 2. Setup controller nodes
70 3. Setup compute nodes
71
72 """
73
74 cmd = 'cd /srv/salt/reclass/scripts/; ./bootstrap_all.sh'
75 underlay.check_call(cmd, host=config.salt.salt_master_host, verbose=True)
76
77 # prepare rally
78 rally.prepare()
79 rally.pull_image()
80 rally.run()
81 # run tempest
82 rally.run_tempest()
83
84 res = rally.get_results()
85
86 fail_msg = 'Tempest verification fails {}'.format(res)
87 assert res['failures'] == 0, fail_msg