Add workaround proposed in PROD-10894
diff --git a/tcp_tests/managers/saltmanager.py b/tcp_tests/managers/saltmanager.py
index 4a83e12..304ff75 100644
--- a/tcp_tests/managers/saltmanager.py
+++ b/tcp_tests/managers/saltmanager.py
@@ -39,86 +39,62 @@
def __init__(self, config, underlay, host=None, port='6969'):
self.__config = config
self.__underlay = underlay
- self._port = port
- self._host = host
- self._api = None
- self._user = settings.SALT_USER
- self._password = settings.SALT_PASSWORD
- self._salt = self
+ self.__port = port
+ self.__host = host
+ self.__api = None
+ self.__user = settings.SALT_USER
+ self.__password = settings.SALT_PASSWORD
super(SaltManager, self).__init__(config=config, underlay=underlay)
def install(self, commands):
- if commands[0].get('do'):
- self.install2(commands)
- else:
- self.install1(commands)
+ #if self.__config.salt.salt_master_host == '0.0.0.0':
+ # # Temporary workaround. Underlay should be extended with roles
+ # salt_nodes = self.__underlay.node_names()
+ # self.__config.salt.salt_master_host = \
+ # self.__underlay.host_by_node_name(salt_nodes[0])
- def install1(self, commands):
- if self.__config.salt.salt_master_host == '0.0.0.0':
- # Temporary workaround. Underlay should be extended with roles
- salt_nodes = self.__underlay.node_names()
- self.__config.salt.salt_master_host = \
- self.__underlay.host_by_node_name(salt_nodes[0])
-
- # self.__underlay.execute_commands(commands=commands,
- # label="Install and configure salt")
- self.execute_commands(commands=commands,
- label="Install and configure salt")
-
- def install2(self, commands):
- if self.__config.salt.salt_master_host == '0.0.0.0':
- # Temporary workaround. Underlay should be extended with roles
- salt_nodes = self.__underlay.node_names()
- self.__config.salt.salt_master_host = \
- self.__underlay.host_by_node_name(salt_nodes[0])
-
- # self.run_commands(commands=commands,
- # label="Install and configure salt")
self.execute_commands(commands=commands,
label="Install and configure salt")
@property
def port(self):
- return self._port
+ return self.__port
@property
def host(self):
- if self._host:
- return self._host
- elif self.__config.salt.salt_master_host == '0.0.0.0':
- # Temporary workaround. Underlay should be extended with roles
- salt_nodes = self.__underlay.node_names()
- self.__config.salt.salt_master_host = \
- self.__underlay.host_by_node_name(salt_nodes[0])
-
- return self.__config.salt.salt_master_host
+ if self.__host:
+ return self.__host
+ else:
+ #TODO(ddmitriev): consider to add a check and raise
+ # exception if 'salt_master_host' is not initialized.
+ return self.__config.salt.salt_master_host
@property
def api(self):
def login():
LOG.info("Authentication in Salt API")
- self._api.login(
- username=self._user,
- password=self._password,
+ self.__api.login(
+ username=self.__user,
+ password=self.__password,
eauth='pam')
return datetime.now()
- if self._api:
+ if self.__api:
if (datetime.now() - self.__session_start).seconds < 5 * 60:
- return self._api
+ return self.__api
else:
# FIXXME: Change to debug
LOG.info("Session's expired")
self.__session_start = login()
- return self._api
+ return self.__api
- LOG.info("Connect to Salt API")
url = "http://{host}:{port}".format(
host=self.host, port=self.port)
- self._api = Pepper(url)
+ LOG.info("Connecting to Salt API {0}".format(url))
+ self.__api = Pepper(url)
self.__session_start = login()
- return self._api
+ return self.__api
def local(self, tgt, fun, args=None, kwargs=None):
return self.api.local(tgt, fun, args, kwargs, expr_form='compound')