Skip to content

Commit

Permalink
Set the rabbit_durable_queues to match local consumers
Browse files Browse the repository at this point in the history
Due to a problematic bug in Glance (https://bugs.launchpad.net/glance/+bug/1074132),
I was unable to get stack.sh to complete successfully. The workaround on the
Glance bug was to set the rabbit_durable_queues value to match the setting
of the local Rabbit consumers and exchanges.

This patch merely looks for any consumer or exchange that
is durable and ensures that the default durable_rabbit_queues
config option of False is set to True in that case.

Change-Id: Ia5a165a5a06d11d1fe6492ca32139972d49d3a1e
  • Loading branch information
jaypipes committed Nov 9, 2012
1 parent c7ac694 commit 71cf53a
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions lib/glance
Expand Up @@ -70,6 +70,13 @@ function configure_glanceclient() {
setup_develop $GLANCECLIENT_DIR
}

# durable_glance_queues() - Determine if RabbitMQ queues are durable or not
function durable_glance_queues() {
test `rabbitmqctl list_queues name durable | grep true | wc -l` -gt 0 && return 0
test `rabbitmqctl list_exchanges name durable | grep true | wc -l` -gt 0 && return 0
return 1
}

# configure_glance() - Set config files, create data dirs, etc
function configure_glance() {
setup_develop $GLANCE_DIR
Expand Down Expand Up @@ -120,6 +127,12 @@ function configure_glance() {
iniset $GLANCE_API_CONF DEFAULT notifier_strategy rabbit
iniset $GLANCE_API_CONF DEFAULT rabbit_host $RABBIT_HOST
iniset $GLANCE_API_CONF DEFAULT rabbit_password $RABBIT_PASSWORD
if [[ durable_glance_queues -eq 0 ]]; then
# This gets around https://bugs.launchpad.net/glance/+bug/1074132
# that results in a g-api server becoming unresponsive during
# startup...
iniset $GLANCE_API_CONF DEFAULT rabbit_durable_queues True
fi
fi
if [[ "$KEYSTONE_TOKEN_FORMAT" == "PKI" ]]; then
iniset $GLANCE_API_CONF keystone_authtoken signing_dir $GLANCE_AUTH_CACHE_DIR/api
Expand Down

0 comments on commit 71cf53a

Please sign in to comment.