Merge "Add option to disable contrail DNS"
diff --git a/.travis.yml b/.travis.yml
index 4fd7f0d..e5487d4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,6 @@
+language: python
+python:
+- "2.7.13"
 sudo: required
 services:
   - docker
@@ -18,46 +21,46 @@
   - bundle install
 
 env:
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc311 SUITE=single3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc311 SUITE=analytics3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc311 SUITE=control3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc311 SUITE=cluster3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc311 SUITE=single3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc311 SUITE=analytics3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc311 SUITE=control3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc311 SUITE=cluster3
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc311 SUITE=vrouter3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc323 SUITE=single3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc323 SUITE=analytics3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc323 SUITE=control3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc323 SUITE=cluster3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc323 SUITE=single3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc323 SUITE=analytics3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc323 SUITE=control3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2016.3 OC_REPO=oc323 SUITE=cluster3
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc323 SUITE=vrouter3
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc40 SUITE=single40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc40 SUITE=analytics40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc40 SUITE=control40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc40 SUITE=cluster40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2016.3 OC_REPO=oc40 SUITE=vrouter40
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc311 SUITE=single3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc311 SUITE=analytics3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc311 SUITE=control3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc311 SUITE=cluster3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc311 SUITE=single3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc311 SUITE=analytics3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc311 SUITE=control3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc311 SUITE=cluster3
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc311 SUITE=vrouter3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc323 SUITE=single3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc323 SUITE=analytics3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc323 SUITE=control3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc323 SUITE=cluster3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc323 SUITE=single3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc323 SUITE=analytics3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc323 SUITE=control3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-2017.7 OC_REPO=oc323 SUITE=cluster3
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc323 SUITE=vrouter3
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc40 SUITE=single40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc40 SUITE=analytics40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc40 SUITE=control40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc40 SUITE=cluster40
   - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2017.7 OC_REPO=oc40 SUITE=vrouter40
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc323 SUITE=single3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc323 SUITE=analytics3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc323 SUITE=control3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc323 SUITE=cluster3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc323 SUITE=vrouter3
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc40 SUITE=single40
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc40 SUITE=analytics40
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc40 SUITE=control40
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc40 SUITE=cluster40
-  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-2018.3 OC_REPO=oc40 SUITE=vrouter40
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-stable OC_REPO=oc323 SUITE=single3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-stable OC_REPO=oc323 SUITE=analytics3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-stable OC_REPO=oc323 SUITE=control3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-trusty-salt-stable OC_REPO=oc323 SUITE=cluster3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-stable OC_REPO=oc323 SUITE=vrouter3
+  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-stable OC_REPO=oc40 SUITE=single40
+  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-stable OC_REPO=oc40 SUITE=analytics40
+  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-stable OC_REPO=oc40 SUITE=control40
+  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-stable OC_REPO=oc40 SUITE=cluster40
+  - PLATFORM=epcim/salt:saltstack-ubuntu-xenial-salt-stable OC_REPO=oc40 SUITE=vrouter40
   # - PLATFORM=epcim/salt:saltstack-ubuntu-bionic-salt-2017.7 OC_REPO=oc311 SUITE=single3
   # - PLATFORM=epcim/salt:saltstack-ubuntu-bionic-salt-2017.7 OC_REPO=oc311 SUITE=analytics3
   # - PLATFORM=epcim/salt:saltstack-ubuntu-bionic-salt-2017.7 OC_REPO=oc311 SUITE=control3
diff --git a/metadata/service/control/analytics.yml b/metadata/service/control/analytics.yml
index 80b6061..51e3694 100644
--- a/metadata/service/control/analytics.yml
+++ b/metadata/service/control/analytics.yml
@@ -60,6 +60,7 @@
       version: ${_param:opencontrail_version}
       cassandra:
         version: 2
+      type: analytics
       enabled: true
       name: 'Contrail'
       minimum_disk: 10
diff --git a/metadata/service/control/cluster.yml b/metadata/service/control/cluster.yml
index 844e309..b148571 100644
--- a/metadata/service/control/cluster.yml
+++ b/metadata/service/control/cluster.yml
@@ -122,6 +122,7 @@
       version: ${_param:opencontrail_version}
       cassandra:
         version: 2
+      type: cluster
       enabled: true
       name: 'Contrail'
       minimum_disk: 10
diff --git a/metadata/service/control/control.yml b/metadata/service/control/control.yml
index 719f6d0..52e3e82 100644
--- a/metadata/service/control/control.yml
+++ b/metadata/service/control/control.yml
@@ -89,6 +89,7 @@
       version: ${_param:opencontrail_version}
       cassandra:
         version: 2
+      type: control
       enabled: true
       name: 'Contrail'
       minimum_disk: 10
diff --git a/opencontrail/files/3.0/contrail-alarm-gen.conf b/opencontrail/files/3.0/contrail-alarm-gen.conf
index d14cab0..026a903 100644
--- a/opencontrail/files/3.0/contrail-alarm-gen.conf
+++ b/opencontrail/files/3.0/contrail-alarm-gen.conf
@@ -15,11 +15,13 @@
 {%- if collector.get('message_queue', {}).members is defined %}
 rabbitmq_server_list={{ collector.message_queue.members | join(',', attribute='host') }}
 rabbitmq_ha_mode=True
-rabbitmq_port={{ collector.get('message_queue', {}).get('port', 5672) }}
 {%- elif collector.get('message_queue', {}).host is defined %}
 rabbitmq_server_list={{ collector.message_queue.host }}
-rabbitmq_port={{ collector.get('message_queue', {}).get('port', 5672) }}
 {%- 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', '') }}
 
 [DISCOVERY]
 disc_server_ip = {{ collector.discovery.host }}
diff --git a/opencontrail/files/4.0/contrail-alarm-gen.conf b/opencontrail/files/4.0/contrail-alarm-gen.conf
index ae8ea5e..e0c51a3 100644
--- a/opencontrail/files/4.0/contrail-alarm-gen.conf
+++ b/opencontrail/files/4.0/contrail-alarm-gen.conf
@@ -14,12 +14,13 @@
 {%- if collector.get('message_queue', {}).members is defined %}
 rabbitmq_server_list={{ collector.message_queue.members | join(',', attribute='host') }}
 rabbitmq_ha_mode=True
-rabbitmq_port={{ collector.get('message_queue', {}).get('port', 5672) }}
 {%- elif collector.get('message_queue', {}).host is defined %}
 rabbitmq_server_list={{ collector.message_queue.host }}
-rabbitmq_port={{ collector.get('message_queue', {}).get('port', 5672) }}
 {%- 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', '') }}
 
 [API_SERVER]
 # List of api-servers in ip:port format separated by space