Before, select was never being monkey patched. As documented in commit #1, qpid would hang on a select call, monkey patching select within Keystone allows select to execute in a monkey patched environment. This can be resolved be explicitly saying what to monkey patch and what to not in keystone/common/environment/__init__.py. This is helpful since it will avoid future issues similar to this and also makes the monkey patching code more readable. The following is a link to the patch:
Found the issue. Earlier in the dev cycle a commit was merged to start isolating eventlet code in Keystone (https:/ /github. com/openstack/ keystone/ blob/master/ keystone/ common/ environment/ __init_ _.py). If a module in Keystone needs to be monkey patched, it is carried out here, when the service starts:
https:/ /github. com/openstack/ keystone/ blob/master/ keystone/ common/ environment/ __init_ _.py#L81
Before, select was never being monkey patched. As documented in commit #1, qpid would hang on a select call, monkey patching select within Keystone allows select to execute in a monkey patched environment. This can be resolved be explicitly saying what to monkey patch and what to not in keystone/ common/ environment/ __init_ _.py. This is helpful since it will avoid future issues similar to this and also makes the monkey patching code more readable. The following is a link to the patch:
http:// paste.openstack .org/show/ 47270/
I understand I opened this under the wrong project and I will reassign to Keystone and push up a patch shortly.