Lance, Doug, Looks like eventlet.patcher.is_monkey_patched(thread) is a reasonable check to switch to to a thread-local implementation.
Doug, did you mean threading.local with WeakValueDictionary? -- dims On Thu, Jun 27, 2013 at 8:15 AM, Doug Hellmann <doug.hellm...@dreamhost.com> wrote: > This isn't something the deployer controls, so I don't know if we want it to > go into a config setting. > > If we can't detect eventlet being used automatically, we could provide an > initialization function in the locals module so projects could change the > behavior when a process starts. The default mode would need to be eventlet, > for now, but a thread-local implementation seems like an obvious > alternative. And of course we would need the module to behave as it does now > if the initialization is not explicitly called. > > Doug > > On Thu, Jun 27, 2013 at 8:03 AM, Davanum Srinivas <dava...@gmail.com> wrote: >> >> Lance, >> >> "is eventlet installed" a strong enough check? given that folks may >> pick up a python install that has eventlet installed w/o realizing it? >> >> Is there a way to check if the openstack process the code is running >> in is using eventlet or not? or the other choice is a flag in logging >> conf to switch to a non-eventlet implemenation? >> >> -- dims >> >> On Wed, Jun 26, 2013 at 8:17 PM, Lance D Bragstad <ldbra...@us.ibm.com> >> wrote: >> > Hey all, >> > >> > Recently there has been some push to get a unified logging >> > implementation >> > pulled from Oslo-incubator into Keystone (Blueprint: >> > >> > https://blueprints.launchpad.net/keystone/+spec/unified-logging-in-keystone). >> > Keystone has been actively working to isolate eventlet code within >> > Keystone >> > and bringing in the current implementation from Oslo-incubator would go >> > against that work, as /oslo-incubator/openstack/common/log.py imports >> > /oslo-incubator/openstack/common/local.py which has a dependency on >> > eventlet >> > >> > (https://github.com/openstack/oslo-incubator/blob/master/openstack/common/local.py#L22) >> > and is used for storing references to contexts. I know there has been a >> > couple of projects looking to not be dependent on eventlet and thought >> > this >> > might be a good topic for the mailing list, especially if these changes >> > end >> > up in Oslo-incubator. >> > >> > After discussion with a couple of the Keystone members, one option is to >> > tweak local.py to check if eventlet is even installed (similar to def >> > _ensure_subprocess here: >> > >> > https://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/common/cms.py#L11) >> > and if it isn't then try implementing a different WeakLocal store not >> > using >> > corolocal.local. Any other ideas on how to approach this are more than >> > welcome. Thanks! >> > >> > >> > >> > Best Regards, >> > >> > Lance Bragstad >> > Software Engineer - OpenStack >> > Cloud Solutions and OpenStack Development >> > T/L 553-5409, External 507-253-5409 >> > ldbra...@us.ibm.com, Bld 015-2/C118 >> > >> > >> > _______________________________________________ >> > OpenStack-dev mailing list >> > OpenStack-dev@lists.openstack.org >> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> > >> >> >> >> -- >> Davanum Srinivas :: http://davanum.wordpress.com >> >> _______________________________________________ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > -- Davanum Srinivas :: http://davanum.wordpress.com _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev