Fix contrail-topology and contrail-snmp-collector configs

Starting from Contrail 4.1, cfg sections API_SERVER and KEYSTONE are
deprecated and removed, section CONFIGDB is added instead.
Corresponding CR in upstream:
https://github.com/Juniper/contrail-controller/commit/eb5cf95db5b1dd8f45544aeaa98cadfda304a3a7

Change-Id: I770bfe8806c8cf1a350216e946bb16eb80880dac
Closes-Prod: PROD-32926
diff --git a/opencontrail/files/4.0/contrail-snmp-collector.conf b/opencontrail/files/4.0/contrail-snmp-collector.conf
index d99fdb9..27914a4 100644
--- a/opencontrail/files/4.0/contrail-snmp-collector.conf
+++ b/opencontrail/files/4.0/contrail-snmp-collector.conf
@@ -14,6 +14,22 @@
 sandesh_send_rate_limit={{ collector.sandesh_send_rate_limits.global }}
 {%- endif %}
 
+{%- if collector.version >= 4.1 %}
+[CONFIGDB]
+{%- if collector.get('message_queue', {}).members is defined %}
+rabbitmq_server_list={{ collector.message_queue.members | join(',', attribute='host') }}
+rabbitmq_ha_mode=True
+{%- elif collector.get('message_queue', {}).host is defined %}
+rabbitmq_server_list={{ collector.message_queue.host }}
+{%- endif %}
+rabbitmq_port={{ collector.get('message_queue', {}).get('port', 5672) }}
+rabbitmq_user={{ collector.get('message_queue', {}).get('user', 'guest') }}
+rabbitmq_password={{ collector.get('message_queue', {}).get('password', 'guest') }}
+rabbitmq_vhost={{ collector.get('message_queue', {}).get('vhost', '') }}
+config_db_server_list={% for member in collector.get('config', {}).get('members', {}) %}{{ member.host }}:9161 {% endfor %}
+#config_db_username=
+#config_db_password=
+{% else %}
 [API_SERVER]
 # List of api-servers in ip:port format separated by space
 api_server_list={% for member in collector.config.members %}{{ member.host }}:9100 {% endfor %}
@@ -27,6 +43,7 @@
 #admin_user=user1
 #admin_password=password1
 #admin_tenant_name=default-domain
+{% endif %}
 
 [SANDESH]
 #sandesh_ssl_enable=False
diff --git a/opencontrail/files/4.0/contrail-topology.conf b/opencontrail/files/4.0/contrail-topology.conf
index 9492b3c..4ac9dc5 100644
--- a/opencontrail/files/4.0/contrail-topology.conf
+++ b/opencontrail/files/4.0/contrail-topology.conf
@@ -20,10 +20,27 @@
 sandesh_send_rate_limit={{ collector.sandesh_send_rate_limits.global }}
 {%- endif %}
 
+{%- if collector.version >= 4.1 %}
+[CONFIGDB]
+{%- if collector.get('message_queue', {}).members is defined %}
+rabbitmq_server_list={{ collector.message_queue.members | join(',', attribute='host') }}
+rabbitmq_ha_mode=True
+{%- elif collector.get('message_queue', {}).host is defined %}
+rabbitmq_server_list={{ collector.message_queue.host }}
+{%- endif %}
+rabbitmq_port={{ collector.get('message_queue', {}).get('port', 5672) }}
+rabbitmq_user={{ collector.get('message_queue', {}).get('user', 'guest') }}
+rabbitmq_password={{ collector.get('message_queue', {}).get('password', 'guest') }}
+rabbitmq_vhost={{ collector.get('message_queue', {}).get('vhost', '') }}
+config_db_server_list={% for member in collector.get('config', {}).get('members', {}) %}{{ member.host }}:9161 {% endfor %}
+#config_db_username=
+#config_db_password=
+{% else %}
 [API_SERVER]
 # List of api-servers in ip:port format separated by space
 api_server_list={% for member in collector.config.members %}{{ member.host }}:9100 {% endfor %}
 #api_server_use_ssl=False
+{% endif %}
 
 [SANDESH]
 #sandesh_ssl_enable=False