1c80f506db
We had to make sure to not import Paramiko before daemonization. The
zuul-server would hang when establishing a Gerrit ssh connection due to
Random.Crypto() failling to acquire random number from /dev/urandom. It
would block on read() and never process.
When the Server command line invokes the daemonization, python-daemon
closes all file descriptors. Including /dev/urandom. Then the daemonized
establishes the SSH connection and fails to get random number because
Random.Crypto() locks on read() on a closed file description.
Paramiko issue is https://github.com/paramiko/paramiko/issues/59 and the
fix is to use os.random:
|
||
---|---|---|
.. | ||
__init__.py | ||
client.py | ||
cloner.py | ||
executor.py | ||
fingergw.py | ||
merger.py | ||
migrate.py | ||
scheduler.py | ||
web.py |