2) Keystone wants to break out of the accept loop gracefully, so the wsgi thread drops into the finally: block where it calls pool.waitall(), which then fails an assertion because "Calling waitall() from within one of the GreenPool's greenthreads will never terminate.": https://github.com/eventlet/eventlet/blob/master/eventlet/greenpool.py#L116
It looks like the "bug" is down in eventlet.
1) The server's accepting connections here: https:/ /github. com/eventlet/ eventlet/ blob/master/ eventlet/ wsgi.py# L796
2) Keystone wants to break out of the accept loop gracefully, so the wsgi thread drops into the finally: block where it calls pool.waitall(), which then fails an assertion because "Calling waitall() from within one of the GreenPool's greenthreads will never terminate.": https:/ /github. com/eventlet/ eventlet/ blob/master/ eventlet/ greenpool. py#L116
Also, here's a better link to the commit: https:/ /github. com/eventlet/ eventlet/ commit/ 1c30e9b39f4330b abcb3665df4c1a3 ba694bc6c1