Wrap ssh connection validation with more logging
this is how it was done in barbican tempest plugin's own copy of
get_remote_client method, and seems to be useful for everyone.
Change-Id: I389efee2a6547fd32bf5c461ef8b9dbbcfd4e945
Related-Issue: PRODX-31324
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index 924413b..0cdba5c 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -739,7 +739,20 @@
linux_client = remote_client.RemoteClient(
ip_address, username, pkey=private_key, password=password,
server=server, servers_client=self.servers_client)
- linux_client.validate_authentication()
+ try:
+ linux_client.validate_authentication()
+ except Exception as e:
+ message = ('Initializing SSH connection to %(ip)s failed. '
+ 'Error: %(error)s' % {'ip': ip_address,
+ 'error': e})
+ caller = test_utils.find_test_caller()
+ if caller:
+ message = '(%s) %s' % (caller, message)
+ LOG.exception(message)
+ servers = (server,) if server else None
+ self.log_console_output(servers=servers)
+ raise
+
return linux_client
def image_create(self, name='scenario-img', **kwargs):