Glance hangs in qpid notification when adding/removing an image
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
High
|
Russell Bryant | ||
Grizzly |
Fix Released
|
High
|
Russell Bryant |
Bug Description
I am using DevStack to setup openstack. The following is my devstack config
# cat localrc
DEST=$HOME/
DATA_DIR=$DEST/data
LOGFILE=
SCREEN_
VERBOSE=False
disable_service rabbit
enable_service qpid
enable_service n-spice
disable_service n-novnc
disable_service n-xvnc
MYSQL_PASSWORD=
SERVICE_
SERVICE_
ADMIN_PASSWORD=
When running 'devstack.sh' everything works fine until 'glance add' is invoked
# glance add name=f16-jeos is_public=true disk_format=qcow2 container_
At which point both glance api / register services appear to be hung processing the request. This eventually times out on the client, but no further commands can be run against glance until it is restarted.
See also
http://
Changed in glance: | |
importance: | Undecided → High |
assignee: | nobody → Russell Bryant (russellb) |
Changed in glance: | |
milestone: | none → grizzly-3 |
status: | Fix Committed → Fix Released |
With further debugging I've determined that the hang occurs in glance/ notifier/ notify_ qpid.py in the call
This is calling off into the qpid messaging APIs, and GDB shows it gets stuck in a poll() /select() syscall.
Russell suggests that glance may not be properly dealing with eventlet monkey patching, but adding
import eventlet monkey_ patch()
eventlet.
as the first line of 'glance-api' does not help.
NB, it turns out that the glance-registry is operating fine. Only 'glance-api' is hung in the above notify path
Changing
notifier_strategy = noop
in glance-api.conf avoids the hang.