Between Ansible 1.5.3 and 1.6.6, lib/ansible/module_utils/known_hosts.py added
from hashlib import sha1
which doesn't work on target hosts who only have Python 2.4.
The 'git' module uses this, and produces this stacktrace on a target RHEL
5 system:
Traceback (most recent call last):
File "/home/ansible/.ansible/tmp/ansible-tmp-1406298245.3-265004186822038/git", line 1840, in ?
from hashlib import sha1
ImportError: No module named hashlib
If we modify known_hosts.py to just the import, like so:
+$ git diff -U0
diff --git a/lib/ansible/module_utils/known_hosts.py b/lib/ansible/module_utils/known_hosts.py
index 62600d7..90620f7 100644
--- a/lib/ansible/module_utils/known_hosts.py
+++ b/lib/ansible/module_utils/known_hosts.py
@@ -30 +30,5 @@ import hmac
-from hashlib import sha1
+try:
+ from hashlib import sha1
+except ImportError:
+ pass
+
that solves our immediate problem, because we don't actually happen to
need to do anything with known_hosts right now, but that would presumably
break things that actually need to use sha1 from hashlib, so that's
probably not a real fix. :^)
-Josh (
j...@care.com)
This email is intended for the person(s) to whom it is addressed and may contain information that is PRIVILEGED or CONFIDENTIAL. Any unauthorized use, distribution, copying, or disclosure by any person other than the addressee(s) is strictly prohibited. If you have received this email in error, please notify the sender immediately by return email and delete the message and any attachments from your system.