Skip to content
Browse files

Add paramiko/pycrypto atfork workaround (can back out later if not us…

…eful), tweak error

message text per skvidal's suggestion
  • Loading branch information...
1 parent b30ddc4 commit 706ba9fd9a03eb92b47bd4c58caf90043b99b126 @mpdehaan mpdehaan committed
Showing with 15 additions and 1 deletion.
  1. +1 −1 lib/ansible/connection.py
  2. +14 −0 lib/ansible/runner.py
View
2 lib/ansible/connection.py
@@ -70,7 +70,7 @@ def connect(self):
)
except Exception, e:
if str(e).find("PID check failed") != -1:
- raise errors.AnsibleError("paramiko version issue, please upgrade paramiko on the overlord")
+ raise errors.AnsibleError("paramiko version issue, please upgrade paramiko on the machine running ansible")
else:
raise errors.AnsibleConnectionFailed(str(e))
return self
View
14 lib/ansible/runner.py
@@ -33,12 +33,26 @@
from ansible import utils
from ansible import errors
from ansible import callbacks as ans_callbacks
+
+HAS_ATFORK=True
+try:
+ print "DEBUG: I have atfork"
+ from Crypto.Random import atfork
+except ImportError:
+ print "DEBUG: I have no atfork, this won't help my problem"
+ HAS_ATFORK=False
################################################
def _executor_hook(job_queue, result_queue):
''' callback used by multiprocessing pool '''
+ # attempt workaround of https://github.com/newsapps/beeswithmachineguns/issues/17
+ # does not occur for everyone, some claim still occurs on newer paramiko
+ # this function not present in CentOS 6
+ if HAS_ATFORK:
+ atfork()
+
signal.signal(signal.SIGINT, signal.SIG_IGN)
while not job_queue.empty():
try:

0 comments on commit 706ba9f

Please sign in to comment.
Something went wrong with that request. Please try again.