summaryrefslogtreecommitdiffstats
path: root/openstack/common/rpc
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2012-12-11 07:03:54 +0000
committerMark McLoughlin <markmc@redhat.com>2012-12-11 07:21:40 +0000
commit17bb753daaf43bad656ae88393da3c6709f4d8e3 (patch)
tree34974a4ef4e5de4a694834d1c9fae5ca0608de68 /openstack/common/rpc
parente6c576d9b08e96b0dcd6b630eefa84fa1bec9f16 (diff)
downloadoslo-17bb753daaf43bad656ae88393da3c6709f4d8e3.tar.gz
oslo-17bb753daaf43bad656ae88393da3c6709f4d8e3.tar.xz
oslo-17bb753daaf43bad656ae88393da3c6709f4d8e3.zip
Register the control_exchange RPC option
Fixes bug #1031725 Have the control_exchange option be registered by Oslo, but allow projects to override the default of 'openstack' by doing e.g.: rpc.set_defaults(control_exchange='nova') Change-Id: Ic6e534d9a70a1cfc94207b78caa57e897cf78f63
Diffstat (limited to 'openstack/common/rpc')
-rw-r--r--openstack/common/rpc/__init__.py16
-rw-r--r--openstack/common/rpc/amqp.py6
2 files changed, 9 insertions, 13 deletions
diff --git a/openstack/common/rpc/__init__.py b/openstack/common/rpc/__init__.py
index e11fa16..902cea2 100644
--- a/openstack/common/rpc/__init__.py
+++ b/openstack/common/rpc/__init__.py
@@ -57,19 +57,19 @@ rpc_opts = [
cfg.BoolOpt('fake_rabbit',
default=False,
help='If passed, use a fake RabbitMQ provider'),
- #
- # The following options are not registered here, but are expected to be
- # present. The project using this library must register these options with
- # the configuration so that project-specific defaults may be defined.
- #
- #cfg.StrOpt('control_exchange',
- # default='nova',
- # help='AMQP exchange to connect to if using RabbitMQ or Qpid'),
+ cfg.StrOpt('control_exchange',
+ default='openstack',
+ help='AMQP exchange to connect to if using RabbitMQ or Qpid'),
]
cfg.CONF.register_opts(rpc_opts)
+def set_defaults(control_exchange):
+ cfg.set_defaults(rpc_opts,
+ control_exchange=control_exchange)
+
+
def create_connection(new=True):
"""Create a connection to the message bus used for rpc.
diff --git a/openstack/common/rpc/amqp.py b/openstack/common/rpc/amqp.py
index 193b621..00b2f24 100644
--- a/openstack/common/rpc/amqp.py
+++ b/openstack/common/rpc/amqp.py
@@ -33,7 +33,6 @@ from eventlet import greenpool
from eventlet import pools
from eventlet import semaphore
-from openstack.common import cfg
from openstack.common import excutils
from openstack.common.gettextutils import _
from openstack.common import local
@@ -428,7 +427,4 @@ def cleanup(connection_pool):
def get_control_exchange(conf):
- try:
- return conf.control_exchange
- except cfg.NoSuchOptError:
- return 'openstack'
+ return conf.control_exchange