Catch DistributionNotFound when pycrypto is absent (#15731)
* Catch DistributionNotFound when pycrypto is absent On Solaris 11, module `pkg_resources` throws `DistributionNotFound` on import if `cryptography` is installed but `pycrypto` is not. This change causes that situation to be handled gracefully. I'm not using Paramiko or Vault, so I my understanding is that I don't need `pycrpto`. I could install `pycrypto` to make the error go away, but: - The latest released version of `pycrypto` doesn't build cleanly on Solaris (https://github.com/dlitz/pycrypto/issues/184). - Solaris includes an old version of GMP that triggers warnings every time Ansible runs (https://github.com/ansible/ansible/issues/6941). I notice that I can silence these warnings with `system_warnings` in `ansible.cfg`, but not installing `pycrypto` seems like a safer solution. * Ignore only `pkg_resources.DistributionNotFound`, not other exceptions.
This commit is contained in:
parent
d3367dd722
commit
faf85ec57c
1 changed files with 5 additions and 0 deletions
|
@ -70,6 +70,11 @@ try:
|
||||||
HAS_PBKDF2HMAC = True
|
HAS_PBKDF2HMAC = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
except Exception as e:
|
||||||
|
if e.__module__ == 'pkg_resources' and e.__class__.__name__ == 'DistributionNotFound':
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
|
||||||
from ansible.compat.six import PY3
|
from ansible.compat.six import PY3
|
||||||
from ansible.utils.unicode import to_unicode, to_bytes
|
from ansible.utils.unicode import to_unicode, to_bytes
|
||||||
|
|
Loading…
Reference in a new issue