Trove is not monkey patching eventlet early enough
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack DBaaS (Trove) |
Fix Released
|
High
|
Tim Simpson |
Bug Description
Trove API isn't calling the eventlet monkey patch routines early enough, leading it to use certain packages which can't be safely mixed with eventlet greenthreads.
To see, open up trove/flavors/
def data(self):
import thread
from eventlet.patcher import is_monkey_patched
return {"Thread is using eventlet": "%s" % str(is_
Next, start up Trove API and list the flavors. What you'll see come back is:
{"Thread is using eventlet": "False"}
This is dangerous for a number of reasons.
Now, if trove/cmd/api.py is fixed by adding the monkey patch logic to the top the flavors view will show the eventlet version of the thread module is being used.
Changed in trove: | |
assignee: | nobody → Tim Simpson (tim-simpson) |
importance: | Undecided → Critical |
importance: | Critical → High |
Changed in trove: | |
milestone: | none → juno-1 |
status: | New → Confirmed |
Changed in trove: | |
status: | Fix Committed → Fix Released |
Changed in trove: | |
milestone: | juno-1 → 2014.2 |
Fix proposed to branch: master /review. openstack. org/89425
Review: https:/