summaryrefslogtreecommitdiff
path: root/nova/rpc.py
diff options
context:
space:
mode:
authorRyan Rossiter <rlrossit@us.ibm.com>2016-01-12 22:21:56 +0000
committerRyan Rossiter <rlrossit@us.ibm.com>2016-01-25 18:40:09 +0000
commit2356f90e0b347f4762549fb08bf6a59818885141 (patch)
treef609c9415410fe17728e169ea8ebc9fec3d5a8a7 /nova/rpc.py
parent9a46586dcf96db567a999380dcaef02bdfd1592a (diff)
downloadnova-2356f90e0b347f4762549fb08bf6a59818885141.tar.gz
Use get_notification_transport() for notifications
In oslo.messaging 2.9.0, the RPC and notification buses were decoupled into separate transports. This changes over the Nova notifier to use the notification transport instead of the original transport (which is now used for RPC). Change-Id: I595d9dd7986a87dfc93e3579d4498b2d9838a4d8 Partially-Implements: bp oslo-for-mitaka
Diffstat (limited to 'nova/rpc.py')
-rw-r--r--nova/rpc.py30
1 files changed, 20 insertions, 10 deletions
diff --git a/nova/rpc.py b/nova/rpc.py
index b50077efdd..2527a661d0 100644
--- a/nova/rpc.py
+++ b/nova/rpc.py
@@ -47,6 +47,7 @@ CONF.register_opts(notification_opts)
TRANSPORT = None
LEGACY_NOTIFIER = None
+NOTIFICATION_TRANSPORT = None
NOTIFIER = None
ALLOWED_EXMODS = [
@@ -68,34 +69,43 @@ TRANSPORT_ALIASES = {
def init(conf):
- global TRANSPORT, LEGACY_NOTIFIER, NOTIFIER
+ global TRANSPORT, NOTIFICATION_TRANSPORT, LEGACY_NOTIFIER, NOTIFIER
exmods = get_allowed_exmods()
TRANSPORT = messaging.get_transport(conf,
allowed_remote_exmods=exmods,
aliases=TRANSPORT_ALIASES)
+ NOTIFICATION_TRANSPORT = messaging.get_notification_transport(
+ conf, allowed_remote_exmods=exmods, aliases=TRANSPORT_ALIASES)
serializer = RequestContextSerializer(JsonPayloadSerializer())
if conf.notification_format == 'unversioned':
- LEGACY_NOTIFIER = messaging.Notifier(TRANSPORT, serializer=serializer)
- NOTIFIER = messaging.Notifier(TRANSPORT, serializer=serializer,
- driver='noop')
+ LEGACY_NOTIFIER = messaging.Notifier(NOTIFICATION_TRANSPORT,
+ serializer=serializer)
+ NOTIFIER = messaging.Notifier(NOTIFICATION_TRANSPORT,
+ serializer=serializer, driver='noop')
elif conf.notification_format == 'both':
- LEGACY_NOTIFIER = messaging.Notifier(TRANSPORT, serializer=serializer)
- NOTIFIER = messaging.Notifier(TRANSPORT, serializer=serializer,
+ LEGACY_NOTIFIER = messaging.Notifier(NOTIFICATION_TRANSPORT,
+ serializer=serializer)
+ NOTIFIER = messaging.Notifier(NOTIFICATION_TRANSPORT,
+ serializer=serializer,
topic='versioned_notifications')
else:
- LEGACY_NOTIFIER = messaging.Notifier(TRANSPORT, serializer=serializer,
+ LEGACY_NOTIFIER = messaging.Notifier(NOTIFICATION_TRANSPORT,
+ serializer=serializer,
driver='noop')
- NOTIFIER = messaging.Notifier(TRANSPORT, serializer=serializer,
+ NOTIFIER = messaging.Notifier(NOTIFICATION_TRANSPORT,
+ serializer=serializer,
topic='versioned_notifications')
def cleanup():
- global TRANSPORT, LEGACY_NOTIFIER, NOTIFIER
+ global TRANSPORT, NOTIFICATION_TRANSPORT, LEGACY_NOTIFIER, NOTIFIER
assert TRANSPORT is not None
+ assert NOTIFICATION_TRANSPORT is not None
assert LEGACY_NOTIFIER is not None
assert NOTIFIER is not None
TRANSPORT.cleanup()
- TRANSPORT = LEGACY_NOTIFIER = NOTIFIER = None
+ NOTIFICATION_TRANSPORT.cleanup()
+ TRANSPORT = NOTIFICATION_TRANSPORT = LEGACY_NOTIFIER = NOTIFIER = None
def set_defaults(control_exchange):