It seems like monkey patching in glance is done after certain modules are already imported and setup. This is due to the monkey patching being done in https://github.com/openstack/glance/blob/master/glance/common/wsgi.py#L208, This can cause problems, one example is the logging module which is setup before this code is executed, and potentially it can be setup with non-monkey-patched modules, which means modules that will block. So say you have a custom logger that does more than the basic logger that comes with python, its usage in glance will cause blocking calls to occur.
Likely the order of monkey patching needs to be reworked??
Looking at nova code they monkey patch very early, instead of later like in glance.
Maybe there are reasons for this in glance?
I can't think of a hard reason why we would delay monkey patching. I assume the monkey patching is there just because that's where the bulk of eventlet work is done.