Support dict values for server.notification

This change allows to configure the notification topic(s) and messaging
driver. It preserves backward-compatibility when the 'notification'
parameter is a boolean value instead of a dict.

Change-Id: I67990858df88c15c173d3dd995b62bda68609a4f
diff --git a/heat/files/liberty/heat.conf.Debian b/heat/files/liberty/heat.conf.Debian
index a677bab..8b5874e 100644
--- a/heat/files/liberty/heat.conf.Debian
+++ b/heat/files/liberty/heat.conf.Debian
@@ -172,7 +172,12 @@
 
 # Driver or drivers to handle sending notifications. (multi valued)
 #notification_driver =
-{%- if server.notification %}
+{%- if server.notification is mapping %}
+notification_driver = {{ server.notification.get('driver', 'messagingv2') }}
+{%- if server.notification.topics is defined %}
+notification_topics = {{ server.notification.topics }}
+{%- endif %}
+{%- elif server.notification %}
 notification_driver = messagingv2
 {% endif %}
 
diff --git a/heat/files/mitaka/heat.conf.Debian b/heat/files/mitaka/heat.conf.Debian
index 08a8558..5d22d0b 100644
--- a/heat/files/mitaka/heat.conf.Debian
+++ b/heat/files/mitaka/heat.conf.Debian
@@ -172,7 +172,12 @@
 
 # Driver or drivers to handle sending notifications. (multi valued)
 #notification_driver =
-{%- if server.notification %}
+{%- if server.notification is mapping %}
+notification_driver = {{ server.notification.get('driver', 'messagingv2') }}
+{%- if server.notification.topics is defined %}
+notification_topics = {{ server.notification.topics }}
+{%- endif %}
+{%- elif server.notification %}
 notification_driver = messagingv2
 {%- endif %}