From 424dbce4d13d8a690626866a6c030ef2c304d963 Mon Sep 17 00:00:00 2001 From: Maksym Strukov Date: Wed, 31 Aug 2016 22:07:41 +0300 Subject: [PATCH] Method warm_shutdown_nodes to use sudo Change-Id: I0a530a93ea4db762bb703a881b1787aec1e0df9c Closes-Bug: #1619019 --- fuelweb_test/helpers/ssh_manager.py | 10 +++++----- fuelweb_test/models/fuel_web_client.py | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fuelweb_test/helpers/ssh_manager.py b/fuelweb_test/helpers/ssh_manager.py index 8cdec080d..125c588c7 100644 --- a/fuelweb_test/helpers/ssh_manager.py +++ b/fuelweb_test/helpers/ssh_manager.py @@ -168,7 +168,7 @@ class SSHManager(six.with_metaclass(SingletonMeta, object)): :rtype: SSHClient """ if (ip, port) not in self.connections: - logger.debug('SSH_MANAGER:Create new connection for ' + logger.debug('SSH_MANAGER: Create new connection for ' '{ip}:{port}'.format(ip=ip, port=port)) keys = self._get_keys() if ip != self.admin_ip else [] @@ -200,7 +200,7 @@ class SSHManager(six.with_metaclass(SingletonMeta, object)): ) ssh_client.sudo_mode = SSH_SLAVE_CREDENTIALS['sudo'] self.connections[(ip, port)] = ssh_client - logger.debug('SSH_MANAGER:Return existed connection for ' + logger.debug('SSH_MANAGER: Return existed connection for ' '{ip}:{port}'.format(ip=ip, port=port)) logger.debug('SSH_MANAGER: Connections {0}'.format(self.connections)) return self._connect(self.connections[(ip, port)]) @@ -217,10 +217,10 @@ class SSHManager(six.with_metaclass(SingletonMeta, object)): :return: None """ if (ip, port) in self.connections: - logger.info('SSH_MANAGER:Close connection for {ip}:{port}'.format( + logger.info('SSH_MANAGER: Close connection for {ip}:{port}'.format( ip=ip, port=port)) self.connections[(ip, port)].clear() - logger.info('SSH_MANAGER:Create new connection for ' + logger.info('SSH_MANAGER: Create new connection for ' '{ip}:{port}'.format(ip=ip, port=port)) self.connections[(ip, port)] = SSHClient( @@ -234,7 +234,7 @@ class SSHManager(six.with_metaclass(SingletonMeta, object)): def clean_all_connections(self): for (ip, port), connection in self.connections.items(): connection.clear() - logger.info('SSH_MANAGER:Close connection for {ip}:{port}'.format( + logger.info('SSH_MANAGER: Close connection for {ip}:{port}'.format( ip=ip, port=port)) def execute(self, ip, cmd, port=22, sudo=None): diff --git a/fuelweb_test/models/fuel_web_client.py b/fuelweb_test/models/fuel_web_client.py index c453114e5..248d28071 100644 --- a/fuelweb_test/models/fuel_web_client.py +++ b/fuelweb_test/models/fuel_web_client.py @@ -2011,15 +2011,15 @@ class FuelWebClient29(object): return self.get_nailgun_node_online_status( self.get_nailgun_node_by_devops_node(devops_node)) - def warm_shutdown_nodes(self, devops_nodes, timeout=4 * 60): + def warm_shutdown_nodes(self, devops_nodes, timeout=10 * 60): logger.info('Shutting down (warm) nodes %s', [n.name for n in devops_nodes]) for node in devops_nodes: logger.debug('Shutdown node %s', node.name) nailgun_node = self.get_nailgun_node_by_devops_node(node) - self.ssh_manager.execute_on_remote(ip=nailgun_node['ip'], - cmd='/sbin/shutdown -Ph now') - + # TODO: LP1620680 + self.ssh_manager.check_call(ip=nailgun_node['ip'], sudo=True, + command='sudo shutdown +1') for node in devops_nodes: self.wait_node_is_offline(node, timeout=timeout) node.destroy()