Ignore AttributeError when trying to import p paramiko (#51243)

* Ignore AttributeError when trying to import p paramiko

* preserve import error
This commit is contained in:
Jordan Borean 2019-01-30 09:40:21 +10:00 committed by GitHub
parent ce8db479f0
commit 6d13acf1ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 6 deletions

View file

@ -168,13 +168,14 @@ SETTINGS_REGEX = re.compile(r'(\w+)(?:\s*=\s*|\s+)(.+)')
# prevent paramiko warning noise -- see http://stackoverflow.com/questions/3920502/
HAVE_PARAMIKO = False
PARAMIKO_IMP_ERR = None
with warnings.catch_warnings():
warnings.simplefilter("ignore")
try:
import paramiko
HAVE_PARAMIKO = True
except ImportError:
pass
except (ImportError, AttributeError) as err: # paramiko and gssapi are incompatible and raise AttributeError not ImportError
PARAMIKO_IMP_ERR = err
class MyAddPolicy(object):
@ -305,7 +306,7 @@ class Connection(ConnectionBase):
''' activates the connection object '''
if not HAVE_PARAMIKO:
raise AnsibleError("paramiko is not installed")
raise AnsibleError("paramiko is not installed: %s" % to_native(PARAMIKO_IMP_ERR))
port = self._play_context.port or 22
display.vvv("ESTABLISH PARAMIKO SSH CONNECTION FOR USER: %s on PORT %s TO %s" % (self._play_context.remote_user, port, self._play_context.remote_addr),