Merge "Harmonize notification configuration"
diff --git a/cinder/files/liberty/cinder.conf.controller.Debian b/cinder/files/liberty/cinder.conf.controller.Debian
index 6255d9e..4a08a94 100644
--- a/cinder/files/liberty/cinder.conf.controller.Debian
+++ b/cinder/files/liberty/cinder.conf.controller.Debian
@@ -60,7 +60,12 @@
volume_clear={{ controller.wipe_method }}
-{%- if controller.notification %}
+{%- if controller.notification is mapping %}
+notification_driver = {{ controller.notification.get('driver', 'messagingv2') }}
+{%- if controller.notification.topics is defined %}
+notification_topics = {{ controller.notification.topics }}
+{%- endif %}
+{%- elif controller.notification %}
control_exchange = cinder
notification_driver = messagingv2
{%- endif %}
diff --git a/cinder/files/liberty/cinder.conf.volume.Debian b/cinder/files/liberty/cinder.conf.volume.Debian
index 94efa00..fbaacee 100644
--- a/cinder/files/liberty/cinder.conf.volume.Debian
+++ b/cinder/files/liberty/cinder.conf.volume.Debian
@@ -59,19 +59,13 @@
volume_clear={{ volume.wipe_method }}
-{%- if volume.notification %}
-control_exchange = cinder
-
-{%- if volume.notification.driver is defined %}
-notification_driver = {{ volume.notification.driver }}
-{%- else %}
-notification_driver = messagingv2
-{%- endif %}
-
+{%- if volume.notification is mapping %}
+notification_driver = {{ volume.notification.get('driver', 'messagingv2') }}
{%- if volume.notification.topics is defined %}
notification_topics = {{ volume.notification.topics }}
{%- endif %}
-
+{%- elif volume.notification %}
+notification_driver = messagingv2
{%- endif %}
volume_name_template = volume-%s
diff --git a/cinder/files/mitaka/cinder.conf.controller.Debian b/cinder/files/mitaka/cinder.conf.controller.Debian
index 30f464b..4ff2811 100644
--- a/cinder/files/mitaka/cinder.conf.controller.Debian
+++ b/cinder/files/mitaka/cinder.conf.controller.Debian
@@ -69,7 +69,12 @@
lock_path=/var/lock/cinder
[oslo_messaging_notifications]
-{%- if controller.notification %}
+{%- if controller.notification is mapping %}
+driver = {{ controller.notification.get('driver', 'messagingv2') }}
+{%- if controller.notification.topics is defined %}
+topics = {{ controller.notification.topics }}
+{%- endif %}
+{%- elif controller.notification %}
driver = messagingv2
{%- endif %}
diff --git a/cinder/files/mitaka/cinder.conf.volume.Debian b/cinder/files/mitaka/cinder.conf.volume.Debian
index 7212a24..73b6ca1 100644
--- a/cinder/files/mitaka/cinder.conf.volume.Debian
+++ b/cinder/files/mitaka/cinder.conf.volume.Debian
@@ -67,7 +67,12 @@
verbose=True
[oslo_messaging_notifications]
-{%- if volume.notification %}
+{%- if volume.notification is mapping %}
+driver = {{ volume.notification.get('driver', 'messagingv2') }}
+{%- if volume.notification.topics is defined %}
+topics = {{ volume.notification.topics }}
+{%- endif %}
+{%- elif volume.notification %}
driver = messagingv2
{%- endif %}
diff --git a/cinder/files/newton/cinder.conf.controller.Debian b/cinder/files/newton/cinder.conf.controller.Debian
index d1d3e31..b7e5b74 100644
--- a/cinder/files/newton/cinder.conf.controller.Debian
+++ b/cinder/files/newton/cinder.conf.controller.Debian
@@ -74,7 +74,12 @@
osapi_volume_extension = cinder.api.contrib.standard_extensions
[oslo_messaging_notifications]
-{%- if controller.notification %}
+{%- if controller.notification is mapping %}
+driver = {{ controller.notification.get('driver', 'messagingv2') }}
+{%- if controller.notification.topics is defined %}
+topics = {{ controller.notification.topics }}
+{%- endif %}
+{%- elif controller.notification %}
driver = messagingv2
{%- endif %}
diff --git a/cinder/files/newton/cinder.conf.volume.Debian b/cinder/files/newton/cinder.conf.volume.Debian
index 067f9ce..f5183be 100644
--- a/cinder/files/newton/cinder.conf.volume.Debian
+++ b/cinder/files/newton/cinder.conf.volume.Debian
@@ -70,7 +70,12 @@
nova_catalog_info = compute:nova:publicURL
[oslo_messaging_notifications]
-{%- if volume.notification %}
+{%- if volume.notification is mapping %}
+driver = {{ volume.notification.get('driver', 'messagingv2') }}
+{%- if volume.notification.topics is defined %}
+topics = {{ volume.notification.topics }}
+{%- endif %}
+{%- elif volume.notification %}
driver = messagingv2
{%- endif %}