Re: [Openstack] eventlet and OpenStack external libraries

2012-03-13 Thread Yun Mao
I took a hack and made all C-based libvirt calls using tpool. It wasn't that bad.. https://github.com/maoy/nova/commit/757bfcb239c62c23c8455a507389efe9c1a2676e >From my limited testing, it works fine. At least snapshot doesn't block the compute node anymore. Yun On Tue, Mar 13, 2012 at 2:04 PM,

Re: [Openstack] eventlet and OpenStack external libraries

2012-03-13 Thread Johannes Erdfelt
On Tue, Mar 13, 2012, Yun Mao wrote: > There are two places in the current master branch that use tpool: > NWFilterFirewall and XenAPISession. Are they safe? I've looked at XenAPISession and it appears to be safe. It doesn't use logging nor any other locks. It does use other Python modules, but

Re: [Openstack] eventlet and OpenStack external libraries

2012-03-13 Thread Yun Mao
Hi JE, There are two places in the current master branch that use tpool: NWFilterFirewall and XenAPISession. Are they safe? I think if it's a pure C-based API call, then monkey patch should not mess with it and it shouldn't try to reschedule among co-routines, right? After examining, the code, I

Re: [Openstack] eventlet and OpenStack external libraries

2012-03-12 Thread Johannes Erdfelt
On Mon, Mar 12, 2012, Yun Mao wrote: > My understanding is that if the answer to question3 is yes, then the > blocking call should be executed in tpool, although it's more likely > to have bugs in that case. Please be very careful with tpool. If the code being executed in the tpool thread ends up

[Openstack] eventlet and OpenStack external libraries

2012-03-12 Thread Yun Mao
Hi stackers, A couple of days ago there was a long discussion of eventlet. I am trying to summarize all external python dependencies for nova, glance and keystone. I extracted the dependency from devstack, but I realize that it is slightly different from tools/pip-requires. So I'm a little confuse