blob: 0206bea93ea4cb61b77e423a11beb42ed755550d [file] [log] [blame]
Dennis Dmitrievf3f90a52017-08-10 14:37:05 +03001# Copyright 2017 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
15from tcp_tests.managers.execute_commands import ExecuteCommandsMixin
16
17
18class DecapodManager(ExecuteCommandsMixin):
19 """docstring for DecapodManager"""
20
21 __config = None
22 __underlay = None
23
24 def __init__(self, config, underlay, salt=None):
25 self.__config = config
26 self.__underlay = underlay
27 self._salt = salt
28 self.decapod_nodes = [
29 i for i in self.__config.underlay.ssh
30 if any([ext.UNDERLAY_NODE_ROLES.decapod_mon in i['roles'],
31 ext.UNDERLAY_NODE_ROLES.decapod_osd in i['roles'],
32 ext.UNDERLAY_NODE_ROLES.decapod_all in i['roles']])]
33 super(DecapodManager, self).__init__(
34 config=config, underlay=underlay)
35
36 def install(self, commands):
37 self.execute_commands(commands,
38 label='Deploy Ceph cluster with Decapod')
39 self.__config.decapod.decapod_installed = True