Add paramiko/pycrypto atfork workaround (can back out later if not useful), tweak error
message text per skvidal's suggestion
This commit is contained in:
parent
b30ddc4520
commit
706ba9fd9a
2 changed files with 15 additions and 1 deletions
|
@ -70,7 +70,7 @@ class ParamikoConnection(object):
|
|||
)
|
||||
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
|
||||
|
|
|
@ -33,12 +33,26 @@ import ansible.connection
|
|||
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:
|
||||
|
|
Loading…
Reference in a new issue