| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 1 | #    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. | 
|  | 14 |  | 
| Dmitry Tyzhnenko | 2b730a0 | 2017-04-07 19:31:32 +0300 | [diff] [blame] | 15 | from tcp_tests.managers.execute_commands import ExecuteCommandsMixin | 
|  | 16 |  | 
|  | 17 |  | 
|  | 18 | class OpenContrailManager(ExecuteCommandsMixin): | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 19 | """docstring for OpenstackManager""" | 
|  | 20 |  | 
| Dmitry Tyzhnenko | bc0f826 | 2017-04-28 15:39:26 +0300 | [diff] [blame] | 21 | __config = None | 
|  | 22 | __underlay = None | 
| Dennis Dmitriev | 2d60c8e | 2017-05-12 18:34:01 +0300 | [diff] [blame] | 23 | __openstack_actions = None | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 24 |  | 
|  | 25 | def __init__(self, config, underlay, openstack_deployed): | 
| Dmitry Tyzhnenko | bc0f826 | 2017-04-28 15:39:26 +0300 | [diff] [blame] | 26 | self.__config = config | 
|  | 27 | self.__underlay = underlay | 
| Dennis Dmitriev | 2d60c8e | 2017-05-12 18:34:01 +0300 | [diff] [blame] | 28 | self.__openstack_actions = openstack_deployed | 
| Dmitry Tyzhnenko | bc0f826 | 2017-04-28 15:39:26 +0300 | [diff] [blame] | 29 | super(OpenContrailManager, self).__init__( | 
|  | 30 | config=config, underlay=underlay) | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 31 |  | 
| Dmitry Tyzhnenko | 2b730a0 | 2017-04-07 19:31:32 +0300 | [diff] [blame] | 32 | def prepare_tests(self, commands): | 
|  | 33 | self.execute_commands(commands=commands, | 
|  | 34 | label="Prepare Juniper contrail-test") | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 35 |  | 
| Dmitry Tyzhnenko | 2b730a0 | 2017-04-07 19:31:32 +0300 | [diff] [blame] | 36 | def run_tests(self, tags='', features=''): | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 37 | cmd = "salt 'ctl01*' grains.get fqdn|tail -n1" | 
| Dmitry Tyzhnenko | bc0f826 | 2017-04-28 15:39:26 +0300 | [diff] [blame] | 38 | result = self.__underlay.check_call( | 
|  | 39 | cmd, host=self.__config.salt.salt_master_host) | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 40 |  | 
|  | 41 | ctl01_name = result['stdout'].strip() | 
|  | 42 |  | 
| Dmitry Tyzhnenko | bc0f826 | 2017-04-28 15:39:26 +0300 | [diff] [blame] | 43 | cmd = '. /etc/contrail/openstackrc; ' \ | 
|  | 44 | 'cd /opt/contrail-test; ./run_tests.sh' | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 45 | if tags != '': | 
|  | 46 | cmd += ' --tags ' + tags | 
|  | 47 |  | 
|  | 48 | if features != '': | 
|  | 49 | cmd += ' --features ' + features | 
|  | 50 |  | 
| Dmitry Tyzhnenko | bc0f826 | 2017-04-28 15:39:26 +0300 | [diff] [blame] | 51 | self.__underlay.check_call( | 
| Dennis Dmitriev | 2cbf235 | 2016-11-11 15:34:21 +0200 | [diff] [blame] | 52 | cmd, | 
|  | 53 | node_name=ctl01_name) |