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):