Comment 3 for bug 1224565

Revision history for this message
Lance Bragstad (lbragstad) wrote :

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.