diff --git a/metadata/service/control/analytics.yml b/metadata/service/control/analytics.yml
index 80046dc..14b8542 100644
--- a/metadata/service/control/analytics.yml
+++ b/metadata/service/control/analytics.yml
@@ -38,6 +38,16 @@
           port: 9160
         - host: ${_param:cluster_node03_address}
           port: 9160
+      identity:
+        engine: keystone
+        version: '2.0'
+        region: RegionOne
+        host: ${_param:cluster_vip_address}
+        port: 35357
+        user: admin
+        password: '${_param:keystone_admin_password}'
+        token: '${_param:keystone_service_token}'
+        tenant: admin
     database:
       version: ${_param:opencontrail_version}
       cassandra:
diff --git a/metadata/service/control/control.yml b/metadata/service/control/control.yml
index 62f8831..fe522cc 100644
--- a/metadata/service/control/control.yml
+++ b/metadata/service/control/control.yml
@@ -138,4 +138,4 @@
         tenant: admin
       network:
         engine: neutron
-        host: ${_param:cluster_vip_address}
\ No newline at end of file
+        host: ${_param:cluster_vip_address}
diff --git a/metadata/service/control/single.yml b/metadata/service/control/single.yml
index 8903522..ef579f7 100644
--- a/metadata/service/control/single.yml
+++ b/metadata/service/control/single.yml
@@ -125,7 +125,7 @@
         id: 1
       database:
         engine: cassandra
-        port: 9160      
+        port: 9160
       identity:
         engine: keystone
         version: '2.0'
@@ -137,4 +137,4 @@
         tenant: admin
       network:
         engine: neutron
-        host: ${_param:single_address}
\ No newline at end of file
+        host: ${_param:single_address}
diff --git a/opencontrail/collector.sls b/opencontrail/collector.sls
index 9a0dd28..bfb3f25 100644
--- a/opencontrail/collector.sls
+++ b/opencontrail/collector.sls
@@ -4,66 +4,74 @@
 include:
 - opencontrail.common
 
+{%- if not collector.get('config_only', False) %}
 opencontrail_collector_packages:
   pkg.installed:
   - names: {{ collector.pkgs }}
   - force_yes: True
+  - require_in:
+    - file: /etc/contrail/contrail-analytics-nodemgr.conf
+    - file: /etc/contrail/contrail-alarm-gen.conf
+    - file: /etc/contrail/contrail-snmp-collector.conf
+    - file: /etc/contrail/contrail-topology.conf
+    - file: {{ collector.redis_config }}
+    - file: /etc/contrail/contrail-collector.conf
+    - file: /etc/contrail/contrail-query-engine.conf
+    - file: /etc/contrail/contrail-analytics-api.conf
+    {%- if collector.version >= 3.0 and grains.get('init') != 'systemd' %}
+    - file: /etc/contrail/supervisord_analytics_files/contrail-analytics-nodemgr.ini
+    - file: /etc/contrail/supervisord_analytics.conf
+    {%- endif %}
+{%- endif %}
 
 /etc/contrail/contrail-analytics-nodemgr.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/contrail-analytics-nodemgr.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_collector_packages
 
 /etc/contrail/contrail-alarm-gen.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/contrail-alarm-gen.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_collector_packages
 
 /etc/contrail/contrail-snmp-collector.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/contrail-snmp-collector.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_collector_packages
 
 /etc/contrail/contrail-topology.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/contrail-topology.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_collector_packages
 
 {{ collector.redis_config }}:
   file.managed:
-  - source: salt://opencontrail/files/{{ collector.version }}/collector/redis.conf
+  - source: salt://opencontrail/files/{{ collector.version }}/redis.conf
+  - template: jinja
   - makedirs: True
-  - require:
-    - pkg: opencontrail_collector_packages
 
 /etc/contrail/contrail-collector.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/contrail-collector.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_collector_packages
 
 /etc/contrail/contrail-query-engine.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/contrail-query-engine.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_collector_packages
 
 /etc/contrail/contrail-analytics-api.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/contrail-analytics-api.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_collector_packages
+
+{%- if collector.version >= 4.0 and collector.identity.engine == "keystone" %}
+/etc/contrail/contrail-keystone-auth.conf_analytics:
+  file.managed:
+  - name: /etc/contrail/contrail-keystone-auth.conf
+  - source: salt://opencontrail/files/{{ collector.version }}/collector/contrail-keystone-auth.conf
+  - template: jinja
+{%- endif %}
 
 {%- if collector.version >= 3.0 and grains.get('init') != 'systemd' %}
 
@@ -71,21 +79,15 @@
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/collector/contrail-analytics-nodemgr.ini
   - makedirs: True
-  - require:
-    - pkg: opencontrail_collector_packages
-  - require_in:
-    - service: opencontrail_collector_services
 
 /etc/contrail/supervisord_analytics.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ collector.version }}/collector/supervisord_analytics.conf
-  - require:
-    - pkg: opencontrail_collector_packages
-  - require_in:
-    - service: opencontrail_collector_services
 
 {%- endif %}
 
+{%- if not collector.get('config_only', False) %}
+
 opencontrail_collector_services:
   service.running:
   - enable: true
@@ -102,6 +104,10 @@
     - file: /etc/contrail/contrail-snmp-collector.conf
     - file: /etc/contrail/contrail-analytics-nodemgr.conf
     - file: /etc/contrail/contrail-alarm-gen.conf
+    {%- if collector.version >= 3.0 and grains.get('init') != 'systemd' %}
+    - file: /etc/contrail/supervisord_analytics_files/contrail-analytics-nodemgr.ini
+    - file: /etc/contrail/supervisord_analytics.conf
+    {%- endif %}
 
 {%- if grains.get('virtual_subtype', None) == "Docker" %}
 
@@ -115,3 +121,5 @@
 {%- endif %}
 
 {%- endif %}
+
+{%- endif %}
diff --git a/opencontrail/common.sls b/opencontrail/common.sls
index cbaf5d2..020bc0e 100644
--- a/opencontrail/common.sls
+++ b/opencontrail/common.sls
@@ -1,8 +1,10 @@
 {%- from "opencontrail/map.jinja" import common with context %}
 
+{%- if not common.get('config_only', False) %}
 opencontrail_common_packages:
   pkg.installed:
   - names: {{ common.pkgs }}
+{% endif %}
 
 
 /var/crashes:
diff --git a/opencontrail/config.sls b/opencontrail/config.sls
index 68d7901..1d659f1 100644
--- a/opencontrail/config.sls
+++ b/opencontrail/config.sls
@@ -4,10 +4,26 @@
 include:
 - opencontrail.common
 
+{%- if not config.get('config_only', False) %}
 opencontrail_config_packages:
   pkg.installed:
   - names: {{ config.pkgs }}
   - force_yes: True
+  - require_in:
+    - /etc/contrail/vnc_api_lib.ini
+    - /etc/contrail/contrail-api.conf
+    - /etc/contrail/contrail-device-manager.conf
+    - /etc/contrail/contrail-config-nodemgr.conf
+    {%- if config.identity.engine == "keystone" %}
+    - /etc/contrail/contrail-keystone-auth.conf
+    {%- endif %}
+    - /etc/contrail/contrail-schema.conf
+    - /etc/contrail/contrail-svc-monitor.conf
+    {%- if grains.get('init') != 'systemd' %}
+    - /etc/contrail/supervisord_config_files/contrail-api.ini
+    - /etc/init.d/contrail-api
+    {%- endif %}
+{%- endif %}
 
 {% if config.version == 2.2 or config.version == 3.0 %}
 
@@ -77,14 +93,10 @@
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/config/contrail-api.ini
   - makedirs: true
-  - require:
-    - pkg: opencontrail_config_packages
 
 /etc/init.d/contrail-api:
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/config/contrail-api
-  - require:
-    - pkg: opencontrail_config_packages
 
 {%- endif %}
 
@@ -92,65 +104,51 @@
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/contrail-api.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
 
 /etc/contrail/vnc_api_lib.ini:
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/vnc_api_lib.ini
   - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
 
 /etc/contrail/contrail-device-manager.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/contrail-device-manager.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
-  - watch_in:
-    - service: opencontrail_config_services
 
 /etc/contrail/contrail-config-nodemgr.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/contrail-config-nodemgr.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
-  - watch_in:
-    - service: opencontrail_config_services
 
-/etc/sudoers.d/contrail_sudoers:
-  file.managed:
-  - source: salt://opencontrail/files/{{ config.version }}/config/contrail_sudoers
-  - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
 
 {%- if config.identity.engine == "keystone" %}
 /etc/contrail/contrail-keystone-auth.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/contrail-keystone-auth.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
-  - watch_in:
-    - service: opencontrail_config_services
 {%- endif %}
 
 /etc/contrail/contrail-schema.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/contrail-schema.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
+
 
 /etc/contrail/contrail-svc-monitor.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ config.version }}/contrail-svc-monitor.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_config_packages
+
+{%- if config.get('config_only', False) %}
+opencontrail_config_doctrail:
+  file.managed:
+  - name: /usr/bin/doctrail
+  - template: jinja
+  - source: salt://opencontrail/files/{{ config.version }}/doctrail
+  - mode: 755
+{%- endif %}
+
+{%- if not config.get('config_only', False) %}
 
 {%- if config.version >= 3.0 and grains.get('init') != 'systemd' %}
 
@@ -185,6 +183,15 @@
 
 {%- endif %}
 
+
+/etc/sudoers.d/contrail_sudoers:
+  file.managed:
+    - source: salt://opencontrail/files/{{ config.version }}/config/contrail_sudoers
+    - template: jinja
+    - require:
+      - pkg: opencontrail_config_packages
+
+
 opencontrail_config_services:
   service.running:
   - enable: true
@@ -202,6 +209,11 @@
     - file: /etc/contrail/contrail-api.conf
     - file: /etc/contrail/vnc_api_lib.ini
     - file: /etc/sudoers.d/contrail_sudoers
+    - file: /etc/contrail/contrail-device-manager.conf
+    - file: /etc/contrail/contrail-config-nodemgr.conf
+    {%- if config.identity.engine == "keystone" %}
+    - file: /etc/contrail/contrail-keystone-auth.conf
+    {%- endif %}
 
 {%- if grains.get('virtual_subtype', None) == "Docker" %}
 
@@ -215,3 +227,5 @@
 {%- endif %}
 
 {%- endif %}
+
+{%- endif %}
diff --git a/opencontrail/control.sls b/opencontrail/control.sls
index 8de19e4..d3a8bdb 100644
--- a/opencontrail/control.sls
+++ b/opencontrail/control.sls
@@ -4,44 +4,65 @@
 include:
 - opencontrail.common
 
+{%- if not control.get('config_only', False) %}
 opencontrail_control_packages:
   pkg.installed:
   - names: {{ control.pkgs }}
   - force_yes: True
+  - require_in:
+    - /etc/contrail/contrail-control-nodemgr.conf
+    - /etc/contrail/contrail-control.conf
+    - /etc/contrail/contrail-dns.conf
+    - /etc/contrail/dns
+    - /etc/contrail/dns/contrail-rndc.conf
+    {%- if control.version >= 3.0 and grains.get('init') != 'systemd' %}
+    - /etc/contrail/supervisord_control_files/contrail-control-nodemgr.ini
+    - /etc/contrail/supervisord_control.conf
+    {%- endif %}
+{%- endif %}
 
 /etc/contrail/contrail-control-nodemgr.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ control.version }}/contrail-control-nodemgr.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_control_packages
 
 /etc/contrail/contrail-control.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ control.version }}/contrail-control.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_control_packages
 
 /etc/contrail/contrail-dns.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ control.version }}/contrail-dns.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_control_packages
+
+{%- if control.get('config_only', False) %}
+
+user_contrail:
+  user.present:
+    - name: contrail
+    - system: True
+    - require_in:
+      - /etc/contrail/dns
+
+opencontrail_control_doctrail:
+  file.managed:
+  - name: /usr/bin/doctrail
+  - template: jinja
+  - source: salt://opencontrail/files/{{ control.version }}/doctrail
+  - mode: 755
+
+{% endif %}
 
 /etc/contrail/dns:
   file.directory:
   - user: contrail
   - group: contrail
-  - require:
-    - pkg: opencontrail_control_packages
 
 /etc/contrail/dns/contrail-rndc.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ control.version }}/control/contrail-rndc.conf
-  - require:
-    - pkg: opencontrail_control_packages
+  - makedirs: True
 
 {%- if control.version >= 3.0 and grains.get('init') != 'systemd' %}
 
@@ -49,21 +70,14 @@
   file.managed:
   - source: salt://opencontrail/files/{{ control.version }}/control/contrail-control-nodemgr.ini
   - makedirs: true
-  - require:
-    - pkg: opencontrail_control_packages
-  - require_in:
-    - service: opencontrail_control_services
 
 /etc/contrail/supervisord_control.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ control.version }}/control/supervisord_control.conf
-  - require:
-    - pkg: opencontrail_control_packages
-  - require_in:
-    - service: opencontrail_control_services
 
 {%- endif %}
 
+{%- if not control.get('config_only', False) %}
 opencontrail_control_services:
   service.running:
   - enable: true
@@ -76,6 +90,9 @@
     - file: /etc/contrail/contrail-dns.conf
     - file: /etc/contrail/contrail-control.conf
     - file: /etc/contrail/contrail-control-nodemgr.conf
+  - require:
+    - /etc/contrail/supervisord_control_files/contrail-control-nodemgr.ini
+    - /etc/contrail/supervisord_control.conf
 
 {%- if grains.get('virtual_subtype', None) == "Docker" %}
 
@@ -85,8 +102,8 @@
   - template: jinja
   - source: salt://opencontrail/files/entrypoint.sh.control
   - mode: 755
-
 {%- endif %}
 
 {%- endif %}
 
+{%- endif %}
diff --git a/opencontrail/database.sls b/opencontrail/database.sls
index e6afb49..2edfff5 100644
--- a/opencontrail/database.sls
+++ b/opencontrail/database.sls
@@ -1,4 +1,4 @@
-{%- from "opencontrail/map.jinja" import database,common with context %}
+{%- from "opencontrail/map.jinja" import database,common  with context %}
 {%- if database.enabled %}
 
 include:
@@ -37,6 +37,32 @@
     - pkg: opencontrail_database_packages
 {% endif %}
 
+{% if database.version >= 4.0 %}
+
+{{ database.cassandra_config }}cassandra_analytics.yaml:
+  file.managed:
+  - source: salt://opencontrail/files/{{ database.version }}/cassandra_analytics.yaml
+  - template: jinja
+  - makedirs: True
+{% if grains.os_family == "RedHat" %}
+  - require:
+    - pkg: opencontrail_database_packages
+{% endif %}
+
+/usr/share/kafka/config/consumer.properties:
+  file.managed:
+  - source: salt://opencontrail/files/{{ database.version }}/consumer.properties
+  - template: jinja
+  - makedirs: true
+
+/usr/share/kafka/config/zookeeper.properties:
+  file.managed:
+  - source: salt://opencontrail/files/{{ database.version }}/zookeeper.properties
+  - template: jinja
+  - makedirs: true
+
+{% endif %}
+
 {{ database.cassandra_config }}logback.xml:
   file.managed:
   - source: salt://opencontrail/files/{{ database.version }}/database/logback.xml
@@ -57,12 +83,46 @@
     - pkg: opencontrail_database_packages
 {% endif %}
 
+{% if database.version >= 4.0 %}
+{{ database.cassandra_config }}cassandra-env-analytics.sh:
+  file.managed:
+  - source: salt://opencontrail/files/{{ database.version }}/database/cassandra-env-analytics.sh
+  - template: jinja
+  - makedirs: True
+{% if grains.os_family == "RedHat" %}
+  - require:
+    - pkg: opencontrail_database_packages
 {% endif %}
+{% endif %}
+
+{% endif %}
+
+{%- if database.get('config_only', False) %}
+opencontrail_database_doctrail:
+  file.managed:
+  - name: /usr/bin/doctrail
+  - template: jinja
+  - source: salt://opencontrail/files/{{ database.version }}/doctrail
+  - mode: 755
+{% endif %}
+
+{%- if not database.get('config_only', False) %}
 
 opencontrail_database_packages:
   pkg.installed:
   - names: {{ database.pkgs }}
   - force_yes: True
+  - require_in:
+    - /etc/zookeeper/conf/log4j.properties
+    - /etc/contrail/contrail-database-nodemgr.conf
+    - /etc/zookeeper/conf/zoo.cfg
+    - /etc/default/zookeeper
+    {%- if database.version >= 3.0 %}
+    - /usr/share/kafka/config/server.properties
+    {%- if database.version < 4.0 or grains.get('init') != 'systemd' %}
+    - /etc/contrail/supervisord_database_files/contrail-database-nodemgr.ini
+    {%- endif %}
+    {%- endif %}
 {% if grains.os_family == "Debian" %}
   - require:
     - file: {{ database.cassandra_config }}cassandra.yaml
@@ -70,36 +130,47 @@
     - file: {{ database.cassandra_config }}logback.xml
 {% endif %}
 
+{% endif %}
+
 /etc/zookeeper/conf/log4j.properties:
   file.managed:
   - source: salt://opencontrail/files/{{ database.version }}/database/log4j.properties
-  - require:
-    - pkg: opencontrail_database_packages
+  - makedirs: true
+
 
 /etc/contrail/contrail-database-nodemgr.conf:
   file.managed:
   - source: salt://opencontrail/files/{{ database.version }}/contrail-database-nodemgr.conf
   - template: jinja
-  - require:
-    - pkg: opencontrail_database_packages
 
 /etc/zookeeper/conf/zoo.cfg:
   file.managed:
   - source: salt://opencontrail/files/{{ database.version }}/zoo.cfg
   - template: jinja
-  - require:
-    - pkg: opencontrail_database_packages
+  - makedirs: true
 
 /etc/default/zookeeper:
   file.managed:
-  - source: salt://opencontrail/files/{{ database.version }}/zookeeper
+    - source: salt://opencontrail/files/{{ database.version }}/zookeeper
+    - template: jinja
+
+{% if database.version >= 4.0 %}
+/etc/zookeeper/conf/zoo_analytics.cfg:
+  file.managed:
+  - source: salt://opencontrail/files/{{ database.version }}/zoo_analytics.cfg
   - template: jinja
-  - require:
-    - pkg: opencontrail_database_packages
+  - makedirs: true
+
+/etc/default/zookeeper_analytics:
+  file.managed:
+  - source: salt://opencontrail/files/{{ database.version }}/zookeeper_analytics
+  - template: jinja
+{% endif %}
 
 /var/lib/zookeeper/myid:
   file.managed:
   - contents: '{{ database.id }}'
+  - makedirs: true
 
 {%- if database.version >= 3.0 %}
 
@@ -107,26 +178,18 @@
   file.managed:
   - source: salt://opencontrail/files/{{ database.version }}/server.properties
   - template: jinja
-  - require:
-    - pkg: opencontrail_database_packages
-  - require_in:
-    - service: opencontrail_database_services
-    - service: opencontrail_zookeeper_service
+  - makedirs: true
 
 {%- if database.version < 4.0 or grains.get('init') != 'systemd' %}
-
+{%- if not database.get('config_only', False) %}
 /etc/contrail/supervisord_database_files/contrail-database-nodemgr.ini:
   file.managed:
   - source: salt://opencontrail/files/{{ database.version }}/database/contrail-database-nodemgr.ini
-  - require:
-    - pkg: opencontrail_database_packages
-  - require_in:
-    - service: opencontrail_database_services
-    - service: opencontrail_zookeeper_service
-
+{%- endif %}
 {%- endif %}
 {%- endif %}
 
+{%- if not database.get('config_only', False) %}
 {% if grains.os_family == "Debian" %}
 #Stop cassandra started by init script - replaced by contrail-database
 disable-cassandra-service:
@@ -134,14 +197,15 @@
     - name: cassandra
     - enable: None
 {% endif %}
+{% endif %}
+
+{%- if not database.get('config_only', False) %}
 
 /var/lib/cassandra/data:
   file.directory:
   - user: cassandra
   - group: cassandra
   - makedirs: True
-  - require_in:
-    - service: opencontrail_database_services
 
 /var/lib/cassandra:
   file.directory:
@@ -183,6 +247,9 @@
     - file: /etc/contrail/contrail-database-nodemgr.conf
     - file: /var/lib/zookeeper/myid
     - file: /etc/zookeeper/conf/log4j.properties
+    - file: /var/lib/cassandra/data
+    - file: /etc/contrail/supervisord_database_files/contrail-database-nodemgr.ini
+    - file: /usr/share/kafka/config/server.properties
 
 opencontrail_zookeeper_service:
   service.running:
@@ -195,6 +262,8 @@
     - file: /etc/zookeeper/conf/zoo.cfg
     - file: /etc/default/zookeeper
     - file: /etc/zookeeper/conf/log4j.properties
+    - file: /etc/contrail/supervisord_database_files/contrail-database-nodemgr.ini
+    - file: /usr/share/kafka/config/server.properties
 
 {%- if grains.get('virtual_subtype', None) == "Docker" %}
 
@@ -208,3 +277,5 @@
 {%- endif %}
 
 {%- endif %}
+
+{%- endif %}
diff --git a/opencontrail/files/3.0/collector/redis.conf b/opencontrail/files/3.0/redis.conf
similarity index 100%
rename from opencontrail/files/3.0/collector/redis.conf
rename to opencontrail/files/3.0/redis.conf
diff --git a/opencontrail/files/4.0/cassandra.yaml b/opencontrail/files/4.0/cassandra.yaml
index 0ffd86a..5aea775 100644
--- a/opencontrail/files/4.0/cassandra.yaml
+++ b/opencontrail/files/4.0/cassandra.yaml
@@ -1,5 +1,5 @@
 {%- from "opencontrail/map.jinja" import database with context %}
-# Cassandra storage config YAML 
+# Cassandra storage config YAML
 
 # NOTE:
 #   See http://wiki.apache.org/cassandra/StorageConfiguration for
@@ -21,13 +21,13 @@
 # Specifying initial_token will override this setting on the node's initial start,
 # on subsequent starts, this setting will apply even if initial token is set.
 #
-# If you already have a cluster with 1 token per node, and wish to migrate to 
+# If you already have a cluster with 1 token per node, and wish to migrate to
 # multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
 num_tokens: 256
 
 # initial_token allows you to specify tokens manually.  While you can use # it with
-# vnodes (num_tokens > 1, above) -- in which case you should provide a 
-# comma-separated list -- it's primarily used when adding nodes # to legacy clusters 
+# vnodes (num_tokens > 1, above) -- in which case you should provide a
+# comma-separated list -- it's primarily used when adding nodes # to legacy clusters
 # that do not have vnodes enabled.
 # initial_token:
 
@@ -213,7 +213,7 @@
 # well as caches.  Experiments show that JEMAlloc saves some memory
 # than the native GCC allocator (i.e., JEMalloc is more
 # fragmentation-resistant).
-# 
+#
 # Supported values are: NativeAllocator, JEMallocAllocator
 #
 # If you intend to use JEMallocAllocator you have to install JEMalloc as library and
@@ -226,8 +226,8 @@
 # If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.
 saved_caches_directory: /var/lib/cassandra/saved_caches
 
-# commitlog_sync may be either "periodic" or "batch." 
-# 
+# commitlog_sync may be either "periodic" or "batch."
+#
 # When in batch mode, Cassandra won't ack writes until the commit log
 # has been fsynced to disk.  It will wait
 # commitlog_sync_batch_window_in_ms milliseconds between fsyncs.
@@ -240,14 +240,14 @@
 #
 # the other option is "periodic" where writes may be acked immediately
 # and the CommitLog is simply synced every commitlog_sync_period_in_ms
-# milliseconds. 
+# milliseconds.
 commitlog_sync: periodic
 commitlog_sync_period_in_ms: 10000
 
 # The size of the individual commitlog file segments.  A commitlog
 # segment may be archived, deleted, or recycled once all the data
 # in it (potentially from each columnfamily in the system) has been
-# flushed to sstables.  
+# flushed to sstables.
 #
 # The default size is 32, which is almost always fine, but if you are
 # archiving commitlog segments (see commitlog_archiving.properties),
@@ -258,7 +258,7 @@
 # any class that implements the SeedProvider interface and has a
 # constructor that takes a Map<String, String> of parameters will do.
 seed_provider:
-    # Addresses of hosts that are deemed contact points. 
+    # Addresses of hosts that are deemed contact points.
     # Cassandra nodes use this list of hosts to find each other and learn
     # the topology of the ring.  You must change this if you are running
     # multiple nodes!
@@ -288,7 +288,7 @@
 # the smaller of 1/4 of heap or 512MB.
 # file_cache_size_in_mb: 512
 
-# Total permitted memory to use for memtables. Cassandra will stop 
+# Total permitted memory to use for memtables. Cassandra will stop
 # accepting writes when the limit is exceeded until a flush completes,
 # and will trigger a flush based on memtable_cleanup_threshold
 # If omitted, Cassandra will set both to 1/4 the size of the heap.
@@ -323,11 +323,11 @@
 
 # This sets the amount of memtable flush writer threads.  These will
 # be blocked by disk io, and each one will hold a memtable in memory
-# while blocked. 
+# while blocked.
 #
 # memtable_flush_writers defaults to the smaller of (number of disks,
 # number of cores), with a minimum of 2 and a maximum of 8.
-# 
+#
 # If your data directories are backed by SSD, you should increase this
 # to the number of cores.
 #memtable_flush_writers: 8
@@ -356,12 +356,12 @@
 
 # TCP port, for commands and data
 # For security reasons, you should not expose this port to the internet.  Firewall it if needed.
-storage_port: 7000
+storage_port: 7010
 
 # SSL port, for encrypted communication.  Unused unless enabled in
 # encryption_options
 # For security reasons, you should not expose this port to the internet.  Firewall it if needed.
-ssl_storage_port: 7001
+ssl_storage_port: 7011
 
 # Address or interface to bind to and tell other Cassandra nodes to connect to.
 # You _must_ change this if you want multiple nodes to be able to communicate!
@@ -402,7 +402,7 @@
 start_native_transport: true
 # port for the CQL native transport to listen for clients on
 # For security reasons, you should not expose this port to the internet.  Firewall it if needed.
-native_transport_port: 9042
+native_transport_port: 9041
 # The maximum threads for handling requests when the native transport is used.
 # This is similar to rpc_max_threads though the default differs slightly (and
 # there is no native_transport_min_threads, idle threads will always be stopped
@@ -448,7 +448,8 @@
 rpc_address: {{ database.bind.host }}
 {% endif %}
 # port for Thrift to listen for clients on
-rpc_port: {{ database.bind.rpc_port }}
+rpc_port: 9161
+#rpc_port: {{ database.bind.rpc_port }}
 
 # RPC address to broadcast to drivers and other Cassandra nodes. This cannot
 # be set to 0.0.0.0. If left blank, this will be set to the value of
@@ -524,7 +525,7 @@
 snapshot_before_compaction: false
 
 # Whether or not a snapshot is taken of the data before keyspace truncation
-# or dropping of column families. The STRONGLY advised default of true 
+# or dropping of column families. The STRONGLY advised default of true
 # should be used to provide data safety. If you set this flag to false, you will
 # lose data on truncation or drop.
 auto_snapshot: true
@@ -568,7 +569,7 @@
 #
 # concurrent_compactors defaults to the smaller of (number of disks,
 # number of cores), with a minimum of 2 and a maximum of 8.
-# 
+#
 # If your data directories are backed by SSD, you should increase this
 # to the number of cores.
 #concurrent_compactors: 1
@@ -586,7 +587,7 @@
 
 # When compacting, the replacement sstable(s) can be opened before they
 # are completely written, and used in place of the prior sstables for
-# any range that has been written. This helps to smoothly transfer reads 
+# any range that has been written. This helps to smoothly transfer reads
 # between the sstables, reducing page cache churn and keeping hot rows hot
 sstable_preemptive_open_interval_in_mb: 50
 
@@ -624,7 +625,7 @@
 # Enable operation timeout information exchange between nodes to accurately
 # measure request timeouts.  If disabled, replicas will assume that requests
 # were forwarded to them instantly by the coordinator, which means that
-# under overload conditions we will waste that much extra time processing 
+# under overload conditions we will waste that much extra time processing
 # already-timed-out requests.
 #
 # Warning: before enabling this property make sure to ntp is installed
@@ -696,7 +697,7 @@
 
 # controls how often to perform the more expensive part of host score
 # calculation
-dynamic_snitch_update_interval_in_ms: 100 
+dynamic_snitch_update_interval_in_ms: 100
 # controls how often to reset all host scores, allowing a bad host to
 # possibly recover
 dynamic_snitch_reset_interval_in_ms: 600000
@@ -726,7 +727,7 @@
 # NoScheduler - Has no options
 # RoundRobin
 #  - throttle_limit -- The throttle_limit is the number of in-flight
-#                      requests per client.  Requests beyond 
+#                      requests per client.  Requests beyond
 #                      that limit are queued up until
 #                      running requests can complete.
 #                      The value of 80 here is twice the number of
diff --git a/opencontrail/files/4.0/cassandra_analytics.yaml b/opencontrail/files/4.0/cassandra_analytics.yaml
new file mode 100644
index 0000000..208096d
--- /dev/null
+++ b/opencontrail/files/4.0/cassandra_analytics.yaml
@@ -0,0 +1,807 @@
+{%- from "opencontrail/map.jinja" import database with context %}
+# Cassandra storage config YAML
+
+# NOTE:
+#   See http://wiki.apache.org/cassandra/StorageConfiguration for
+#   full explanations of configuration directives
+# /NOTE
+
+# The name of the cluster. This is mainly used to prevent machines in
+# one logical cluster from joining another.
+cluster_name: '{{ database.name }}'
+
+# This defines the number of tokens randomly assigned to this node on the ring
+# The more tokens, relative to other nodes, the larger the proportion of data
+# that this node will store. You probably want all nodes to have the same number
+# of tokens assuming they have equal hardware capability.
+#
+# If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility,
+# and will use the initial_token as described below.
+#
+# Specifying initial_token will override this setting on the node's initial start,
+# on subsequent starts, this setting will apply even if initial token is set.
+#
+# If you already have a cluster with 1 token per node, and wish to migrate to
+# multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
+num_tokens: 256
+
+# initial_token allows you to specify tokens manually.  While you can use # it with
+# vnodes (num_tokens > 1, above) -- in which case you should provide a
+# comma-separated list -- it's primarily used when adding nodes # to legacy clusters
+# that do not have vnodes enabled.
+# initial_token:
+
+# See http://wiki.apache.org/cassandra/HintedHandoff
+# May either be "true" or "false" to enable globally, or contain a list
+# of data centers to enable per-datacenter.
+# hinted_handoff_enabled: DC1,DC2
+hinted_handoff_enabled: true
+# this defines the maximum amount of time a dead host will have hints
+# generated.  After it has been dead this long, new hints for it will not be
+# created until it has been seen alive and gone down again.
+max_hint_window_in_ms: 10800000 # 3 hours
+# Maximum throttle in KBs per second, per delivery thread.  This will be
+# reduced proportionally to the number of nodes in the cluster.  (If there
+# are two nodes in the cluster, each delivery thread will use the maximum
+# rate; if there are three, each will throttle to half of the maximum,
+# since we expect two nodes to be delivering hints simultaneously.)
+hinted_handoff_throttle_in_kb: 1024
+# Number of threads with which to deliver hints;
+# Consider increasing this number when you have multi-dc deployments, since
+# cross-dc handoff tends to be slower
+max_hints_delivery_threads: 2
+
+# Maximum throttle in KBs per second, total. This will be
+# reduced proportionally to the number of nodes in the cluster.
+batchlog_replay_throttle_in_kb: 1024
+
+# Authentication backend, implementing IAuthenticator; used to identify users
+# Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator,
+# PasswordAuthenticator}.
+#
+# - AllowAllAuthenticator performs no checks - set it to disable authentication.
+# - PasswordAuthenticator relies on username/password pairs to authenticate
+#   users. It keeps usernames and hashed passwords in system_auth.credentials table.
+#   Please increase system_auth keyspace replication factor if you use this authenticator.
+authenticator: AllowAllAuthenticator
+
+# Authorization backend, implementing IAuthorizer; used to limit access/provide permissions
+# Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer,
+# CassandraAuthorizer}.
+#
+# - AllowAllAuthorizer allows any action to any user - set it to disable authorization.
+# - CassandraAuthorizer stores permissions in system_auth.permissions table. Please
+#   increase system_auth keyspace replication factor if you use this authorizer.
+authorizer: AllowAllAuthorizer
+
+# Validity period for permissions cache (fetching permissions can be an
+# expensive operation depending on the authorizer, CassandraAuthorizer is
+# one example). Defaults to 2000, set to 0 to disable.
+# Will be disabled automatically for AllowAllAuthorizer.
+permissions_validity_in_ms: 2000
+
+# Refresh interval for permissions cache (if enabled).
+# After this interval, cache entries become eligible for refresh. Upon next
+# access, an async reload is scheduled and the old value returned until it
+# completes. If permissions_validity_in_ms is non-zero, then this must be
+# also.
+# Defaults to the same value as permissions_validity_in_ms.
+# permissions_update_interval_in_ms: 1000
+
+# The partitioner is responsible for distributing groups of rows (by
+# partition key) across nodes in the cluster.  You should leave this
+# alone for new clusters.  The partitioner can NOT be changed without
+# reloading all data, so when upgrading you should set this to the
+# same partitioner you were already using.
+#
+# Besides Murmur3Partitioner, partitioners included for backwards
+# compatibility include RandomPartitioner, ByteOrderedPartitioner, and
+# OrderPreservingPartitioner.
+#
+partitioner: org.apache.cassandra.dht.Murmur3Partitioner
+
+# Directories where Cassandra should store data on disk.  Cassandra
+# will spread data evenly across them, subject to the granularity of
+# the configured compaction strategy.
+# If not set, the default directory is $CASSANDRA_HOME/data/data.
+data_file_directories:
+    - /var/lib/cassandra/data
+
+# commit log.  when running on magnetic HDD, this should be a
+# separate spindle than the data directories.
+# If not set, the default directory is $CASSANDRA_HOME/data/commitlog.
+commitlog_directory: /var/lib/cassandra/commitlog
+
+# policy for data disk failures:
+# die: shut down gossip and Thrift and kill the JVM for any fs errors or
+#      single-sstable errors, so the node can be replaced.
+# stop_paranoid: shut down gossip and Thrift even for single-sstable errors.
+# stop: shut down gossip and Thrift, leaving the node effectively dead, but
+#       can still be inspected via JMX.
+# best_effort: stop using the failed disk and respond to requests based on
+#              remaining available sstables.  This means you WILL see obsolete
+#              data at CL.ONE!
+# ignore: ignore fatal errors and let requests fail, as in pre-1.2 Cassandra
+disk_failure_policy: stop
+
+# policy for commit disk failures:
+# die: shut down gossip and Thrift and kill the JVM, so the node can be replaced.
+# stop: shut down gossip and Thrift, leaving the node effectively dead, but
+#       can still be inspected via JMX.
+# stop_commit: shutdown the commit log, letting writes collect but
+#              continuing to service reads, as in pre-2.0.5 Cassandra
+# ignore: ignore fatal errors and let the batches fail
+commit_failure_policy: stop
+
+# Maximum size of the key cache in memory.
+#
+# Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the
+# minimum, sometimes more. The key cache is fairly tiny for the amount of
+# time it saves, so it's worthwhile to use it at large numbers.
+# The row cache saves even more time, but must contain the entire row,
+# so it is extremely space-intensive. It's best to only use the
+# row cache if you have hot rows or static rows.
+#
+# NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.
+#
+# Default value is empty to make it "auto" (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache.
+key_cache_size_in_mb:
+
+# Duration in seconds after which Cassandra should
+# save the key cache. Caches are saved to saved_caches_directory as
+# specified in this configuration file.
+#
+# Saved caches greatly improve cold-start speeds, and is relatively cheap in
+# terms of I/O for the key cache. Row cache saving is much more expensive and
+# has limited use.
+#
+# Default is 14400 or 4 hours.
+key_cache_save_period: 14400
+
+# Number of keys from the key cache to save
+# Disabled by default, meaning all keys are going to be saved
+# key_cache_keys_to_save: 100
+
+# Maximum size of the row cache in memory.
+# NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.
+#
+# Default value is 0, to disable row caching.
+row_cache_size_in_mb: 0
+
+# Duration in seconds after which Cassandra should
+# save the row cache. Caches are saved to saved_caches_directory as specified
+# in this configuration file.
+#
+# Saved caches greatly improve cold-start speeds, and is relatively cheap in
+# terms of I/O for the key cache. Row cache saving is much more expensive and
+# has limited use.
+#
+# Default is 0 to disable saving the row cache.
+row_cache_save_period: 0
+
+# Number of keys from the row cache to save
+# Disabled by default, meaning all keys are going to be saved
+# row_cache_keys_to_save: 100
+
+# Maximum size of the counter cache in memory.
+#
+# Counter cache helps to reduce counter locks' contention for hot counter cells.
+# In case of RF = 1 a counter cache hit will cause Cassandra to skip the read before
+# write entirely. With RF > 1 a counter cache hit will still help to reduce the duration
+# of the lock hold, helping with hot counter cell updates, but will not allow skipping
+# the read entirely. Only the local (clock, count) tuple of a counter cell is kept
+# in memory, not the whole counter, so it's relatively cheap.
+#
+# NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.
+#
+# Default value is empty to make it "auto" (min(2.5% of Heap (in MB), 50MB)). Set to 0 to disable counter cache.
+# NOTE: if you perform counter deletes and rely on low gcgs, you should disable the counter cache.
+counter_cache_size_in_mb:
+
+# Duration in seconds after which Cassandra should
+# save the counter cache (keys only). Caches are saved to saved_caches_directory as
+# specified in this configuration file.
+#
+# Default is 7200 or 2 hours.
+counter_cache_save_period: 7200
+
+# Number of keys from the counter cache to save
+# Disabled by default, meaning all keys are going to be saved
+# counter_cache_keys_to_save: 100
+
+# The off-heap memory allocator.  Affects storage engine metadata as
+# well as caches.  Experiments show that JEMAlloc saves some memory
+# than the native GCC allocator (i.e., JEMalloc is more
+# fragmentation-resistant).
+#
+# Supported values are: NativeAllocator, JEMallocAllocator
+#
+# If you intend to use JEMallocAllocator you have to install JEMalloc as library and
+# modify cassandra-env.sh as directed in the file.
+#
+# Defaults to NativeAllocator
+# memory_allocator: NativeAllocator
+
+# saved caches
+# If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.
+saved_caches_directory: /var/lib/cassandra/saved_caches
+
+# commitlog_sync may be either "periodic" or "batch."
+#
+# When in batch mode, Cassandra won't ack writes until the commit log
+# has been fsynced to disk.  It will wait
+# commitlog_sync_batch_window_in_ms milliseconds between fsyncs.
+# This window should be kept short because the writer threads will
+# be unable to do extra work while waiting.  (You may need to increase
+# concurrent_writes for the same reason.)
+#
+# commitlog_sync: batch
+# commitlog_sync_batch_window_in_ms: 2
+#
+# the other option is "periodic" where writes may be acked immediately
+# and the CommitLog is simply synced every commitlog_sync_period_in_ms
+# milliseconds.
+commitlog_sync: periodic
+commitlog_sync_period_in_ms: 10000
+
+# The size of the individual commitlog file segments.  A commitlog
+# segment may be archived, deleted, or recycled once all the data
+# in it (potentially from each columnfamily in the system) has been
+# flushed to sstables.
+#
+# The default size is 32, which is almost always fine, but if you are
+# archiving commitlog segments (see commitlog_archiving.properties),
+# then you probably want a finer granularity of archiving; 8 or 16 MB
+# is reasonable.
+commitlog_segment_size_in_mb: 32
+
+# any class that implements the SeedProvider interface and has a
+# constructor that takes a Map<String, String> of parameters will do.
+seed_provider:
+    # Addresses of hosts that are deemed contact points.
+    # Cassandra nodes use this list of hosts to find each other and learn
+    # the topology of the ring.  You must change this if you are running
+    # multiple nodes!
+    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
+      parameters:
+          # seeds is actually a comma-delimited list of addresses.
+          # Ex: "<ip1>,<ip2>,<ip3>"
+          - seeds: "{%- for member in database.members %}{{ member.host }},{%- endfor %}"
+
+# For workloads with more data than can fit in memory, Cassandra's
+# bottleneck will be reads that need to fetch data from
+# disk. "concurrent_reads" should be set to (16 * number_of_drives) in
+# order to allow the operations to enqueue low enough in the stack
+# that the OS and drives can reorder them. Same applies to
+# "concurrent_counter_writes", since counter writes read the current
+# values before incrementing and writing them back.
+#
+# On the other hand, since writes are almost never IO bound, the ideal
+# number of "concurrent_writes" is dependent on the number of cores in
+# your system; (8 * number_of_cores) is a good rule of thumb.
+concurrent_reads: 32
+concurrent_writes: 32
+concurrent_counter_writes: 32
+
+
+# Total memory to use for sstable-reading buffers.  Defaults to
+# the smaller of 1/4 of heap or 512MB.
+# file_cache_size_in_mb: 512
+
+# Total permitted memory to use for memtables. Cassandra will stop
+# accepting writes when the limit is exceeded until a flush completes,
+# and will trigger a flush based on memtable_cleanup_threshold
+# If omitted, Cassandra will set both to 1/4 the size of the heap.
+# memtable_heap_space_in_mb: 2048
+# memtable_offheap_space_in_mb: 2048
+
+# Ratio of occupied non-flushing memtable size to total permitted size
+# that will trigger a flush of the largest memtable.  Lager mct will
+# mean larger flushes and hence less compaction, but also less concurrent
+# flush activity which can make it difficult to keep your disks fed
+# under heavy write load.
+#
+# memtable_cleanup_threshold defaults to 1 / (memtable_flush_writers + 1)
+# memtable_cleanup_threshold: 0.11
+
+# Specify the way Cassandra allocates and manages memtable memory.
+# Options are:
+#   heap_buffers:    on heap nio buffers
+#   offheap_buffers: off heap (direct) nio buffers
+#   offheap_objects: native memory, eliminating nio buffer heap overhead
+memtable_allocation_type: heap_buffers
+
+# Total space to use for commitlogs.  Since commitlog segments are
+# mmapped, and hence use up address space, the default size is 32
+# on 32-bit JVMs, and 8192 on 64-bit JVMs.
+#
+# If space gets above this value (it will round up to the next nearest
+# segment multiple), Cassandra will flush every dirty CF in the oldest
+# segment and remove it.  So a small total commitlog space will tend
+# to cause more flush activity on less-active columnfamilies.
+# commitlog_total_space_in_mb: 8192
+
+# This sets the amount of memtable flush writer threads.  These will
+# be blocked by disk io, and each one will hold a memtable in memory
+# while blocked.
+#
+# memtable_flush_writers defaults to the smaller of (number of disks,
+# number of cores), with a minimum of 2 and a maximum of 8.
+#
+# If your data directories are backed by SSD, you should increase this
+# to the number of cores.
+#memtable_flush_writers: 8
+
+# A fixed memory pool size in MB for for SSTable index summaries. If left
+# empty, this will default to 5% of the heap size. If the memory usage of
+# all index summaries exceeds this limit, SSTables with low read rates will
+# shrink their index summaries in order to meet this limit.  However, this
+# is a best-effort process. In extreme conditions Cassandra may need to use
+# more than this amount of memory.
+index_summary_capacity_in_mb:
+
+# How frequently index summaries should be resampled.  This is done
+# periodically to redistribute memory from the fixed-size pool to sstables
+# proportional their recent read rates.  Setting to -1 will disable this
+# process, leaving existing index summaries at their current sampling level.
+index_summary_resize_interval_in_minutes: 60
+
+# Whether to, when doing sequential writing, fsync() at intervals in
+# order to force the operating system to flush the dirty
+# buffers. Enable this to avoid sudden dirty buffer flushing from
+# impacting read latencies. Almost always a good idea on SSDs; not
+# necessarily on platters.
+trickle_fsync: false
+trickle_fsync_interval_in_kb: 10240
+
+# TCP port, for commands and data
+# For security reasons, you should not expose this port to the internet.  Firewall it if needed.
+storage_port: 7000
+
+# SSL port, for encrypted communication.  Unused unless enabled in
+# encryption_options
+# For security reasons, you should not expose this port to the internet.  Firewall it if needed.
+ssl_storage_port: 7001
+
+# Address or interface to bind to and tell other Cassandra nodes to connect to.
+# You _must_ change this if you want multiple nodes to be able to communicate!
+#
+# Set listen_address OR listen_interface, not both. Interfaces must correspond
+# to a single address, IP aliasing is not supported.
+#
+# Leaving it blank leaves it up to InetAddress.getLocalHost(). This
+# will always do the Right Thing _if_ the node is properly configured
+# (hostname, name resolution, etc), and the Right Thing is to use the
+# address associated with the hostname (it might not be).
+#
+# Setting listen_address to 0.0.0.0 is always wrong.
+#
+# If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
+# you can specify which should be chosen using listen_interface_prefer_ipv6. If false the first ipv4
+# address will be used. If true the first ipv6 address will be used. Defaults to false preferring
+# ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.
+{% if database.bind.interface is defined %}
+listen_interface: {{ database.bind.interface }}
+{% else %}
+listen_address: {{ database.bind.host }}
+# listen_interface: eth0
+{% endif %}
+# listen_interface_prefer_ipv6: false
+
+# Address to broadcast to other Cassandra nodes
+# Leaving this blank will set it to the same value as listen_address
+# broadcast_address: 1.2.3.4
+
+# Internode authentication backend, implementing IInternodeAuthenticator;
+# used to allow/disallow connections from peer nodes.
+# internode_authenticator: org.apache.cassandra.auth.AllowAllInternodeAuthenticator
+
+# Whether to start the native transport server.
+# Please note that the address on which the native transport is bound is the
+# same as the rpc_address. The port however is different and specified below.
+start_native_transport: true
+# port for the CQL native transport to listen for clients on
+# For security reasons, you should not expose this port to the internet.  Firewall it if needed.
+native_transport_port: 9042
+# The maximum threads for handling requests when the native transport is used.
+# This is similar to rpc_max_threads though the default differs slightly (and
+# there is no native_transport_min_threads, idle threads will always be stopped
+# after 30 seconds).
+# native_transport_max_threads: 128
+#
+# The maximum size of allowed frame. Frame (requests) larger than this will
+# be rejected as invalid. The default is 256MB.
+# native_transport_max_frame_size_in_mb: 256
+
+# The maximum number of concurrent client connections.
+# The default is -1, which means unlimited.
+# native_transport_max_concurrent_connections: -1
+
+# The maximum number of concurrent client connections per source ip.
+# The default is -1, which means unlimited.
+# native_transport_max_concurrent_connections_per_ip: -1
+
+# Whether to start the thrift rpc server.
+start_rpc: true
+
+# The address or interface to bind the Thrift RPC service and native transport
+# server to.
+#
+# Set rpc_address OR rpc_interface, not both. Interfaces must correspond
+# to a single address, IP aliasing is not supported.
+#
+# Leaving rpc_address blank has the same effect as on listen_address
+# (i.e. it will be based on the configured hostname of the node).
+#
+# Note that unlike listen_address, you can specify 0.0.0.0, but you must also
+# set broadcast_rpc_address to a value other than 0.0.0.0.
+#
+# For security reasons, you should not expose this port to the internet.  Firewall it if needed.
+#
+# If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
+# you can specify which should be chosen using rpc_interface_prefer_ipv6. If false the first ipv4
+# address will be used. If true the first ipv6 address will be used. Defaults to false preferring
+# ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.
+{% if database.bind.interface is defined %}
+rpc_interface: {{ database.bind.interface }}
+{% else %}
+rpc_address: {{ database.bind.host }}
+{% endif %}
+# port for Thrift to listen for clients on
+rpc_port: 9160
+# rpc_port: {{ database.bind.rpc_port }}
+
+# RPC address to broadcast to drivers and other Cassandra nodes. This cannot
+# be set to 0.0.0.0. If left blank, this will be set to the value of
+# rpc_address. If rpc_address is set to 0.0.0.0, broadcast_rpc_address must
+# be set.
+# broadcast_rpc_address: 1.2.3.4
+
+# enable or disable keepalive on rpc/native connections
+rpc_keepalive: true
+
+# Cassandra provides two out-of-the-box options for the RPC Server:
+#
+# sync  -> One thread per thrift connection. For a very large number of clients, memory
+#          will be your limiting factor. On a 64 bit JVM, 180KB is the minimum stack size
+#          per thread, and that will correspond to your use of virtual memory (but physical memory
+#          may be limited depending on use of stack space).
+#
+# hsha  -> Stands for "half synchronous, half asynchronous." All thrift clients are handled
+#          asynchronously using a small number of threads that does not vary with the amount
+#          of thrift clients (and thus scales well to many clients). The rpc requests are still
+#          synchronous (one thread per active request). If hsha is selected then it is essential
+#          that rpc_max_threads is changed from the default value of unlimited.
+#
+# The default is sync because on Windows hsha is about 30% slower.  On Linux,
+# sync/hsha performance is about the same, with hsha of course using less memory.
+#
+# Alternatively,  can provide your own RPC server by providing the fully-qualified class name
+# of an o.a.c.t.TServerFactory that can create an instance of it.
+rpc_server_type: sync
+
+# Uncomment rpc_min|max_thread to set request pool size limits.
+#
+# Regardless of your choice of RPC server (see above), the number of maximum requests in the
+# RPC thread pool dictates how many concurrent requests are possible (but if you are using the sync
+# RPC server, it also dictates the number of clients that can be connected at all).
+#
+# The default is unlimited and thus provides no protection against clients overwhelming the server. You are
+# encouraged to set a maximum that makes sense for you in production, but do keep in mind that
+# rpc_max_threads represents the maximum number of client requests this server may execute concurrently.
+#
+# rpc_min_threads: 16
+# rpc_max_threads: 2048
+
+# uncomment to set socket buffer sizes on rpc connections
+# rpc_send_buff_size_in_bytes:
+# rpc_recv_buff_size_in_bytes:
+
+# Uncomment to set socket buffer size for internode communication
+# Note that when setting this, the buffer size is limited by net.core.wmem_max
+# and when not setting it it is defined by net.ipv4.tcp_wmem
+# See:
+# /proc/sys/net/core/wmem_max
+# /proc/sys/net/core/rmem_max
+# /proc/sys/net/ipv4/tcp_wmem
+# /proc/sys/net/ipv4/tcp_wmem
+# and: man tcp
+# internode_send_buff_size_in_bytes:
+# internode_recv_buff_size_in_bytes:
+
+# Frame size for thrift (maximum message length).
+thrift_framed_transport_size_in_mb: 15
+
+# Set to true to have Cassandra create a hard link to each sstable
+# flushed or streamed locally in a backups/ subdirectory of the
+# keyspace data.  Removing these links is the operator's
+# responsibility.
+incremental_backups: false
+
+# Whether or not to take a snapshot before each compaction.  Be
+# careful using this option, since Cassandra won't clean up the
+# snapshots for you.  Mostly useful if you're paranoid when there
+# is a data format change.
+snapshot_before_compaction: false
+
+# Whether or not a snapshot is taken of the data before keyspace truncation
+# or dropping of column families. The STRONGLY advised default of true
+# should be used to provide data safety. If you set this flag to false, you will
+# lose data on truncation or drop.
+auto_snapshot: true
+
+# When executing a scan, within or across a partition, we need to keep the
+# tombstones seen in memory so we can return them to the coordinator, which
+# will use them to make sure other replicas also know about the deleted rows.
+# With workloads that generate a lot of tombstones, this can cause performance
+# problems and even exaust the server heap.
+# (http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets)
+# Adjust the thresholds here if you understand the dangers and want to
+# scan more tombstones anyway.  These thresholds may also be adjusted at runtime
+# using the StorageService mbean.
+tombstone_warn_threshold: 1000
+tombstone_failure_threshold: 100000
+
+# Granularity of the collation index of rows within a partition.
+# Increase if your rows are large, or if you have a very large
+# number of rows per partition.  The competing goals are these:
+#   1) a smaller granularity means more index entries are generated
+#      and looking up rows withing the partition by collation column
+#      is faster
+#   2) but, Cassandra will keep the collation index in memory for hot
+#      rows (as part of the key cache), so a larger granularity means
+#      you can cache more hot rows
+column_index_size_in_kb: 64
+
+
+# Log WARN on any batch size exceeding this value. 5kb per batch by default.
+# Caution should be taken on increasing the size of this threshold as it can lead to node instability.
+batch_size_warn_threshold_in_kb: 5
+
+# Number of simultaneous compactions to allow, NOT including
+# validation "compactions" for anti-entropy repair.  Simultaneous
+# compactions can help preserve read performance in a mixed read/write
+# workload, by mitigating the tendency of small sstables to accumulate
+# during a single long running compactions. The default is usually
+# fine and if you experience problems with compaction running too
+# slowly or too fast, you should look at
+# compaction_throughput_mb_per_sec first.
+#
+# concurrent_compactors defaults to the smaller of (number of disks,
+# number of cores), with a minimum of 2 and a maximum of 8.
+#
+# If your data directories are backed by SSD, you should increase this
+# to the number of cores.
+#concurrent_compactors: 1
+{% if database.concurrent_compactors is defined %}
+concurrent_compactors: {{ database.concurrent_compactors }}
+{% endif %}
+
+# Throttles compaction to the given total throughput across the entire
+# system. The faster you insert data, the faster you need to compact in
+# order to keep the sstable count down, but in general, setting this to
+# 16 to 32 times the rate you are inserting data is more than sufficient.
+# Setting this to 0 disables throttling. Note that this account for all types
+# of compaction, including validation compaction.
+compaction_throughput_mb_per_sec: {{ database.compaction_throughput_mb_per_sec }}
+
+# When compacting, the replacement sstable(s) can be opened before they
+# are completely written, and used in place of the prior sstables for
+# any range that has been written. This helps to smoothly transfer reads
+# between the sstables, reducing page cache churn and keeping hot rows hot
+sstable_preemptive_open_interval_in_mb: 50
+
+# Throttles all outbound streaming file transfers on this node to the
+# given total throughput in Mbps. This is necessary because Cassandra does
+# mostly sequential IO when streaming data during bootstrap or repair, which
+# can lead to saturating the network connection and degrading rpc performance.
+# When unset, the default is 200 Mbps or 25 MB/s.
+# stream_throughput_outbound_megabits_per_sec: 200
+
+# Throttles all streaming file transfer between the datacenters,
+# this setting allows users to throttle inter dc stream throughput in addition
+# to throttling all network stream traffic as configured with
+# stream_throughput_outbound_megabits_per_sec
+# inter_dc_stream_throughput_outbound_megabits_per_sec:
+
+# How long the coordinator should wait for read operations to complete
+read_request_timeout_in_ms: 10000
+# How long the coordinator should wait for seq or index scans to complete
+range_request_timeout_in_ms: 10000
+# How long the coordinator should wait for writes to complete
+write_request_timeout_in_ms: 10000
+# How long the coordinator should wait for counter writes to complete
+counter_write_request_timeout_in_ms: 5000
+# How long a coordinator should continue to retry a CAS operation
+# that contends with other proposals for the same row
+cas_contention_timeout_in_ms: 1000
+# How long the coordinator should wait for truncates to complete
+# (This can be much longer, because unless auto_snapshot is disabled
+# we need to flush first so we can snapshot before removing the data.)
+truncate_request_timeout_in_ms: 60000
+# The default timeout for other, miscellaneous operations
+request_timeout_in_ms: 10000
+
+# Enable operation timeout information exchange between nodes to accurately
+# measure request timeouts.  If disabled, replicas will assume that requests
+# were forwarded to them instantly by the coordinator, which means that
+# under overload conditions we will waste that much extra time processing
+# already-timed-out requests.
+#
+# Warning: before enabling this property make sure to ntp is installed
+# and the times are synchronized between the nodes.
+cross_node_timeout: false
+
+# Enable socket timeout for streaming operation.
+# When a timeout occurs during streaming, streaming is retried from the start
+# of the current file. This _can_ involve re-streaming an important amount of
+# data, so you should avoid setting the value too low.
+# Default value is 0, which never timeout streams.
+# streaming_socket_timeout_in_ms: 0
+
+# phi value that must be reached for a host to be marked down.
+# most users should never need to adjust this.
+# phi_convict_threshold: 8
+
+# endpoint_snitch -- Set this to a class that implements
+# IEndpointSnitch.  The snitch has two functions:
+# - it teaches Cassandra enough about your network topology to route
+#   requests efficiently
+# - it allows Cassandra to spread replicas around your cluster to avoid
+#   correlated failures. It does this by grouping machines into
+#   "datacenters" and "racks."  Cassandra will do its best not to have
+#   more than one replica on the same "rack" (which may not actually
+#   be a physical location)
+#
+# IF YOU CHANGE THE SNITCH AFTER DATA IS INSERTED INTO THE CLUSTER,
+# YOU MUST RUN A FULL REPAIR, SINCE THE SNITCH AFFECTS WHERE REPLICAS
+# ARE PLACED.
+#
+# Out of the box, Cassandra provides
+#  - SimpleSnitch:
+#    Treats Strategy order as proximity. This can improve cache
+#    locality when disabling read repair.  Only appropriate for
+#    single-datacenter deployments.
+#  - GossipingPropertyFileSnitch
+#    This should be your go-to snitch for production use.  The rack
+#    and datacenter for the local node are defined in
+#    cassandra-rackdc.properties and propagated to other nodes via
+#    gossip.  If cassandra-topology.properties exists, it is used as a
+#    fallback, allowing migration from the PropertyFileSnitch.
+#  - PropertyFileSnitch:
+#    Proximity is determined by rack and data center, which are
+#    explicitly configured in cassandra-topology.properties.
+#  - Ec2Snitch:
+#    Appropriate for EC2 deployments in a single Region. Loads Region
+#    and Availability Zone information from the EC2 API. The Region is
+#    treated as the datacenter, and the Availability Zone as the rack.
+#    Only private IPs are used, so this will not work across multiple
+#    Regions.
+#  - Ec2MultiRegionSnitch:
+#    Uses public IPs as broadcast_address to allow cross-region
+#    connectivity.  (Thus, you should set seed addresses to the public
+#    IP as well.) You will need to open the storage_port or
+#    ssl_storage_port on the public IP firewall.  (For intra-Region
+#    traffic, Cassandra will switch to the private IP after
+#    establishing a connection.)
+#  - RackInferringSnitch:
+#    Proximity is determined by rack and data center, which are
+#    assumed to correspond to the 3rd and 2nd octet of each node's IP
+#    address, respectively.  Unless this happens to match your
+#    deployment conventions, this is best used as an example of
+#    writing a custom Snitch class and is provided in that spirit.
+#
+# You can use a custom Snitch by setting this to the full class name
+# of the snitch, which will be assumed to be on your classpath.
+endpoint_snitch: SimpleSnitch
+
+# controls how often to perform the more expensive part of host score
+# calculation
+dynamic_snitch_update_interval_in_ms: 100
+# controls how often to reset all host scores, allowing a bad host to
+# possibly recover
+dynamic_snitch_reset_interval_in_ms: 600000
+# if set greater than zero and read_repair_chance is < 1.0, this will allow
+# 'pinning' of replicas to hosts in order to increase cache capacity.
+# The badness threshold will control how much worse the pinned host has to be
+# before the dynamic snitch will prefer other replicas over it.  This is
+# expressed as a double which represents a percentage.  Thus, a value of
+# 0.2 means Cassandra would continue to prefer the static snitch values
+# until the pinned host was 20% worse than the fastest.
+dynamic_snitch_badness_threshold: 0.1
+
+# request_scheduler -- Set this to a class that implements
+# RequestScheduler, which will schedule incoming client requests
+# according to the specific policy. This is useful for multi-tenancy
+# with a single Cassandra cluster.
+# NOTE: This is specifically for requests from the client and does
+# not affect inter node communication.
+# org.apache.cassandra.scheduler.NoScheduler - No scheduling takes place
+# org.apache.cassandra.scheduler.RoundRobinScheduler - Round robin of
+# client requests to a node with a separate queue for each
+# request_scheduler_id. The scheduler is further customized by
+# request_scheduler_options as described below.
+request_scheduler: org.apache.cassandra.scheduler.NoScheduler
+
+# Scheduler Options vary based on the type of scheduler
+# NoScheduler - Has no options
+# RoundRobin
+#  - throttle_limit -- The throttle_limit is the number of in-flight
+#                      requests per client.  Requests beyond
+#                      that limit are queued up until
+#                      running requests can complete.
+#                      The value of 80 here is twice the number of
+#                      concurrent_reads + concurrent_writes.
+#  - default_weight -- default_weight is optional and allows for
+#                      overriding the default which is 1.
+#  - weights -- Weights are optional and will default to 1 or the
+#               overridden default_weight. The weight translates into how
+#               many requests are handled during each turn of the
+#               RoundRobin, based on the scheduler id.
+#
+# request_scheduler_options:
+#    throttle_limit: 80
+#    default_weight: 5
+#    weights:
+#      Keyspace1: 1
+#      Keyspace2: 5
+
+# request_scheduler_id -- An identifier based on which to perform
+# the request scheduling. Currently the only valid option is keyspace.
+# request_scheduler_id: keyspace
+
+# Enable or disable inter-node encryption
+# Default settings are TLS v1, RSA 1024-bit keys (it is imperative that
+# users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher
+# suite for authentication, key exchange and encryption of the actual data transfers.
+# Use the DHE/ECDHE ciphers if running in FIPS 140 compliant mode.
+# NOTE: No custom encryption options are enabled at the moment
+# The available internode options are : all, none, dc, rack
+#
+# If set to dc cassandra will encrypt the traffic between the DCs
+# If set to rack cassandra will encrypt the traffic between the racks
+#
+# The passwords used in these options must match the passwords used when generating
+# the keystore and truststore.  For instructions on generating these files, see:
+# http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore
+#
+server_encryption_options:
+    internode_encryption: none
+    keystore: conf/.keystore
+    keystore_password: cassandra
+    truststore: conf/.truststore
+    truststore_password: cassandra
+    # More advanced defaults below:
+    # protocol: TLS
+    # algorithm: SunX509
+    # store_type: JKS
+    # cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]
+    # require_client_auth: false
+
+# enable or disable client/server encryption.
+client_encryption_options:
+    enabled: false
+    keystore: conf/.keystore
+    keystore_password: cassandra
+    # require_client_auth: false
+    # Set trustore and truststore_password if require_client_auth is true
+    # truststore: conf/.truststore
+    # truststore_password: cassandra
+    # More advanced defaults below:
+    # protocol: TLS
+    # algorithm: SunX509
+    # store_type: JKS
+    # cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]
+
+# internode_compression controls whether traffic between nodes is
+# compressed.
+# can be:  all  - all traffic is compressed
+#          dc   - traffic between different datacenters is compressed
+#          none - nothing is compressed.
+internode_compression: all
+
+# Enable or disable tcp_nodelay for inter-dc communication.
+# Disabling it will result in larger (but fewer) network packets being sent,
+# reducing overhead from the TCP protocol itself, at the cost of increasing
+# latency if you block for cross-datacenter responses.
+inter_dc_tcp_nodelay: true
diff --git a/opencontrail/files/4.0/collector/contrail-keystone-auth.conf b/opencontrail/files/4.0/collector/contrail-keystone-auth.conf
new file mode 100644
index 0000000..4af7b62
--- /dev/null
+++ b/opencontrail/files/4.0/collector/contrail-keystone-auth.conf
@@ -0,0 +1,20 @@
+{%- from "opencontrail/map.jinja" import collector with context -%}
+[KEYSTONE]
+auth_host={{ collector.identity.host }}
+auth_protocol=http
+auth_port={{ collector.identity.port }}
+admin_user={{ collector.identity.user }}
+admin_password={{ collector.identity.password }}
+admin_tenant_name={{ collector.identity.tenant }}
+insecure=True
+{%- if collector.cache is defined %}
+#memcache_servers=127.0.0.1:11211
+memcache_servers={% for member in collector.cache.members %}{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %}
+{%- endif %}
+{%- if collector.identity.version == "3" %}
+project_name={{ collector.identity.tenant }}
+project_domain_name={{ collector.identity.get('domain', 'default')|lower}}
+auth_url=http://{{ collector.identity.host }}:{{ collector.identity.port }}/v3
+{%- else %}
+auth_url=http://{{ collector.identity.host }}:{{ collector.identity.port }}/v2.0
+{%- endif %}
diff --git a/opencontrail/files/4.0/consumer.properties b/opencontrail/files/4.0/consumer.properties
new file mode 100644
index 0000000..1cb16a0
--- /dev/null
+++ b/opencontrail/files/4.0/consumer.properties
@@ -0,0 +1,30 @@
+{%- from "opencontrail/map.jinja" import database with context %}
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# see kafka.consumer.ConsumerConfig for more details
+
+# Zookeeper connection string
+# comma separated host:port pairs, each corresponding to a zk
+# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
+zookeeper.connect={% for member in database.members %}{{ member.host }}:2182{% if not loop.last %},{% endif %}{% endfor %}
+
+# timeout in ms for connecting to zookeeper
+zookeeper.connection.timeout.ms=6000
+
+#consumer group id
+group.id=test-consumer-group
+
+#consumer timeout
+#consumer.timeout.ms=5000
diff --git a/opencontrail/files/4.0/contrail-alarm-gen.conf b/opencontrail/files/4.0/contrail-alarm-gen.conf
index 41d6690..ad2fbbf 100644
--- a/opencontrail/files/4.0/contrail-alarm-gen.conf
+++ b/opencontrail/files/4.0/contrail-alarm-gen.conf
@@ -9,7 +9,7 @@
 log_file = /var/log/contrail/contrail-alarm-gen.log
 kafka_broker_list = {% for member in collector.database.members %}{{ member.host }}:9092 {% endfor %}
 partitions=30
-zk_list = {% for member in collector.database.members %}{{ member.host }}:2181 {% endfor %}
+zk_list = {% for member in collector.database.members %}{{ member.host }}:2182 {% endfor %}
 #rabbitmq_server_list = xx.xx.xx.xx
 rabbitmq_server_list = {{ collector.message_queue.host }}
 rabbitmq_port = 5672
diff --git a/opencontrail/files/4.0/contrail-analytics-api.conf b/opencontrail/files/4.0/contrail-analytics-api.conf
index 1ee1f61..98544ae 100644
--- a/opencontrail/files/4.0/contrail-analytics-api.conf
+++ b/opencontrail/files/4.0/contrail-analytics-api.conf
@@ -5,7 +5,7 @@
 cassandra_server_list={% for member in collector.database.members %}{{ member.host }}:9042 {% endfor %}
 http_server_port = 8090
 api_server={% for member in collector.config.members %}{{ member.host }}:9100 {% endfor %}
-zk_list={% for member in collector.database.members %}{{ member.host }}:2181 {% endfor %}
+zk_list={% for member in collector.database.members %}{{ member.host }}:2182 {% endfor %}
 rest_api_port = {{ collector.bind.get('port', '8081') }}
 rest_api_ip = 0.0.0.0
 log_local = 1
diff --git a/opencontrail/files/4.0/contrail-api.conf b/opencontrail/files/4.0/contrail-api.conf
index 6f46207..b51dec0 100644
--- a/opencontrail/files/4.0/contrail-api.conf
+++ b/opencontrail/files/4.0/contrail-api.conf
@@ -1,7 +1,7 @@
 {%- from "opencontrail/map.jinja" import config with context %}
 [DEFAULTS]
 collectors = {% for member in config.analytics.members %}{{ member.host }}:8086 {% endfor %}
-cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9160 {% endfor %}
+cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9161 {% endfor %}
 listen_ip_addr=0.0.0.0
 listen_port={{ config.bind.get('api_port', '8082') }}
 aaa_mode={{ config.get('aaa_mode', 'cloud-admin') }}
diff --git a/opencontrail/files/4.0/contrail-collector.conf b/opencontrail/files/4.0/contrail-collector.conf
index cd2ca0a..35f89cf 100644
--- a/opencontrail/files/4.0/contrail-collector.conf
+++ b/opencontrail/files/4.0/contrail-collector.conf
@@ -27,7 +27,7 @@
 
 # IP address and port to be used to connect to zookeeper.
 # Multiple IP:port are specified as single string separated by comma
-zookeeper_server_list={% for member in collector.database.members %}{{ member.host }}:2181{% if not loop.last %},{% endif %}{% endfor %}
+zookeeper_server_list={% for member in collector.database.members %}{{ member.host }}:2182{% if not loop.last %},{% endif %}{% endfor %}
 
 # Disable flow collection
 disable_flow_collection={{ collector.get('disable_flow_collection', 'false')|lower }}
@@ -115,4 +115,3 @@
 [REDIS]
 port=6379
 server=127.0.0.1
-
diff --git a/opencontrail/files/4.0/contrail-control.conf b/opencontrail/files/4.0/contrail-control.conf
index ae5be90..23a39f6 100644
--- a/opencontrail/files/4.0/contrail-control.conf
+++ b/opencontrail/files/4.0/contrail-control.conf
@@ -12,7 +12,7 @@
 # gr_helper_bgp_disable=0
 # gr_helper_xmpp_disable=0
 hostip={{ control.bind.address }} # Resolved IP of `hostname`
-#hostname=ctl-oc-1 # Retrieved as `hostname` 
+#hostname=ctl-oc-1 # Retrieved as `hostname`
 {%- if control.name is defined %}
 hostname={{ control.name }}
 {%- else %}
@@ -50,7 +50,7 @@
 # rabbitmq_ssl_certfile=
 # rabbitmq_ssl_ca_certs=
 #
-config_db_server_list={% for member in control.database.members %}{{ member.host }}:9042 {% endfor %}
+config_db_server_list={% for member in control.database.members %}{{ member.host }}:9041 {% endfor %}
 # config_db_username=
 # config_db_password=
 
diff --git a/opencontrail/files/4.0/contrail-database-nodemgr.conf b/opencontrail/files/4.0/contrail-database-nodemgr.conf
index 492fd8f..5d85520 100644
--- a/opencontrail/files/4.0/contrail-database-nodemgr.conf
+++ b/opencontrail/files/4.0/contrail-database-nodemgr.conf
@@ -1,5 +1,5 @@
 {%- from "opencontrail/map.jinja" import database with context %}
-[DEFAULT]
+[DEFAULTS]
 hostip={{ database.bind.host }}
 minimum_diskGB={{ database.minimum_disk }}
 {%- if pillar.opencontrail.control is defined %}
diff --git a/opencontrail/files/4.0/contrail-device-manager.conf b/opencontrail/files/4.0/contrail-device-manager.conf
index 9d4ac45..caaae67 100644
--- a/opencontrail/files/4.0/contrail-device-manager.conf
+++ b/opencontrail/files/4.0/contrail-device-manager.conf
@@ -20,7 +20,7 @@
 api_server_port=8082
 zk_server_ip={% for member in config.database.members %}{{ member.host }}:2181{% if not loop.last %},{% endif %}{% endfor %}
 log_file=/var/log/contrail/contrail-device-manager.log
-cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9160 {% endfor %}
+cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9161 {% endfor %}
 collectors = {% for member in config.analytics.members %}{{ member.host }}:8086 {% endfor %}
 log_local=1
 log_level=SYS_NOTICE
diff --git a/opencontrail/files/4.0/contrail-dns.conf b/opencontrail/files/4.0/contrail-dns.conf
index 93e5b72..2517778 100644
--- a/opencontrail/files/4.0/contrail-dns.conf
+++ b/opencontrail/files/4.0/contrail-dns.conf
@@ -54,7 +54,7 @@
 # rabbitmq_ssl_certfile=
 # rabbitmq_ssl_ca_certs=
 #
-config_db_server_list={% for member in control.database.members %}{{ member.host }}:9042 {% endfor %}
+config_db_server_list={% for member in control.database.members %}{{ member.host }}:9041 {% endfor %}
 # config_db_username=
 # config_db_password=
 
diff --git a/opencontrail/files/4.0/contrail-schema.conf b/opencontrail/files/4.0/contrail-schema.conf
index 40c06fa..af77e9e 100644
--- a/opencontrail/files/4.0/contrail-schema.conf
+++ b/opencontrail/files/4.0/contrail-schema.conf
@@ -5,7 +5,7 @@
 #zk_server_ip=10.0.102.31:2181,10.0.102.32:2181,10.0.102.33:2181
 zk_server_ip={% for member in config.database.members %}{{ member.host }}:2181{% if not loop.last %},{% endif %}{% endfor %}
 log_file=/var/log/contrail/contrail-schema.log
-cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9160 {% endfor %}
+cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9161 {% endfor %}
 log_local=1
 log_level=SYS_NOTICE
 {%- if config.message_queue.members is defined %}
diff --git a/opencontrail/files/4.0/contrail-snmp-collector.conf b/opencontrail/files/4.0/contrail-snmp-collector.conf
index cdfe630..0d229a6 100644
--- a/opencontrail/files/4.0/contrail-snmp-collector.conf
+++ b/opencontrail/files/4.0/contrail-snmp-collector.conf
@@ -6,7 +6,7 @@
 log_local=1
 log_level=SYS_NOTICE
 log_file=/var/log/contrail/contrail-snmp-collector.log
-zookeeper = {% for member in collector.database.members %}{{ member.host }}:2181{% if not loop.last %},{% endif %}{% endfor %}
+zookeeper = {% for member in collector.database.members %}{{ member.host }}:2182{% if not loop.last %},{% endif %}{% endfor %}
 #scan_frequency=600
 
 [API_SERVER]
diff --git a/opencontrail/files/4.0/contrail-svc-monitor.conf b/opencontrail/files/4.0/contrail-svc-monitor.conf
index d86f2dd..3078cc3 100644
--- a/opencontrail/files/4.0/contrail-svc-monitor.conf
+++ b/opencontrail/files/4.0/contrail-svc-monitor.conf
@@ -6,7 +6,7 @@
 #zk_server_ip=10.0.102.31:2181,10.0.102.32:2181,10.0.102.33:2181
 zk_server_ip={% for member in config.database.members %}{{ member.host }}:2181{% if not loop.last %},{% endif %}{% endfor %}
 log_file=/var/log/contrail/contrail-svc-monitor.log
-cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9160 {% endfor %}
+cassandra_server_list={% for member in config.database.members %}{{ member.host }}:9161 {% endfor %}
 region_name=RegionOne
 #nova_endpoint_type=publicURL
 log_local=1
diff --git a/opencontrail/files/4.0/contrail-topology.conf b/opencontrail/files/4.0/contrail-topology.conf
index 976c5b1..f146173 100644
--- a/opencontrail/files/4.0/contrail-topology.conf
+++ b/opencontrail/files/4.0/contrail-topology.conf
@@ -8,11 +8,11 @@
 log_local=1
 log_level=SYS_NOTICE
 log_file=/var/log/contrail/contrail-topology.log
-zookeeper = {% for member in collector.database.members %}{{ member.host }}:2181{% if not loop.last %},{% endif %}{% endfor %}
+zookeeper = {% for member in collector.database.members %}{{ member.host }}:2182{% if not loop.last %},{% endif %}{% endfor %}
 
 #scan_frequency=60
 
-#zookeeper=127.0.0.1:2181
+#zookeeper=127.0.0.1:2182
 
 [API_SERVER]
 # List of api-servers in ip:port format separated by space
diff --git a/opencontrail/files/4.0/contrail-webui-jobserver.service b/opencontrail/files/4.0/contrail-webui-jobserver.service
new file mode 100644
index 0000000..f40f23d
--- /dev/null
+++ b/opencontrail/files/4.0/contrail-webui-jobserver.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Contrail WebUI Job Server
+ConditionPathExists=/etc/contrail/config.global.js
+
+[Service]
+WorkingDirectory=/var/lib/contrail-webui/contrail-web-core
+User=contrail
+Group=contrail
+ExecStart=/usr/bin/node jobServerStart.js
+PIDFile=/var/run/contrail-web-jobserver.pid
+KillMode=process
+Restart=on-failure
+RestartPreventExitStatus=255
+Type=notify
diff --git a/opencontrail/files/4.0/contrail-webui-webserver.service b/opencontrail/files/4.0/contrail-webui-webserver.service
new file mode 100644
index 0000000..dfb915d
--- /dev/null
+++ b/opencontrail/files/4.0/contrail-webui-webserver.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Contrail WebUI Web Server
+ConditionPathExists=/etc/contrail/config.global.js
+[Service]
+WorkingDirectory=/var/lib/contrail-webui/contrail-web-core
+User=contrail
+Group=contrail
+ExecStart=/usr/bin/node webServerStart.js
+PIDFile=/var/run/contrail-web-webserver.pid
+KillMode=process
+Restart=on-failure
+RestartPreventExitStatus=255
diff --git a/opencontrail/files/4.0/database/cassandra-env-analytics.sh b/opencontrail/files/4.0/database/cassandra-env-analytics.sh
new file mode 100644
index 0000000..d84863a
--- /dev/null
+++ b/opencontrail/files/4.0/database/cassandra-env-analytics.sh
@@ -0,0 +1,316 @@
+{%- from "opencontrail/map.jinja" import database with context %}# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+calculate_heap_sizes()
+{
+    case "`uname`" in
+        Linux)
+            system_memory_in_mb=`free -m | awk '/:/ {print $2;exit}'`
+            system_cpu_cores=`egrep -c 'processor([[:space:]]+):.*' /proc/cpuinfo`
+        ;;
+        FreeBSD)
+            system_memory_in_bytes=`sysctl hw.physmem | awk '{print $2}'`
+            system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / 1024`
+            system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'`
+        ;;
+        SunOS)
+            system_memory_in_mb=`prtconf | awk '/Memory size:/ {print $3}'`
+            system_cpu_cores=`psrinfo | wc -l`
+        ;;
+        Darwin)
+            system_memory_in_bytes=`sysctl hw.memsize | awk '{print $2}'`
+            system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / 1024`
+            system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'`
+        ;;
+        *)
+            # assume reasonable defaults for e.g. a modern desktop or
+            # cheap server
+            system_memory_in_mb="2048"
+            system_cpu_cores="2"
+        ;;
+    esac
+
+    # some systems like the raspberry pi don't report cores, use at least 1
+    if [ "$system_cpu_cores" -lt "1" ]
+    then
+        system_cpu_cores="1"
+    fi
+
+    # set max heap size based on the following
+    # max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))
+    # calculate 1/2 ram and cap to 1024MB
+    # calculate 1/4 ram and cap to 8192MB
+    # pick the max
+    half_system_memory_in_mb=`expr $system_memory_in_mb / 2`
+    quarter_system_memory_in_mb=`expr $half_system_memory_in_mb / 2`
+    if [ "$half_system_memory_in_mb" -gt "1024" ]
+    then
+        half_system_memory_in_mb="1024"
+    fi
+    if [ "$quarter_system_memory_in_mb" -gt "8192" ]
+    then
+        quarter_system_memory_in_mb="8192"
+    fi
+    if [ "$half_system_memory_in_mb" -gt "$quarter_system_memory_in_mb" ]
+    then
+        max_heap_size_in_mb="$half_system_memory_in_mb"
+    else
+        max_heap_size_in_mb="$quarter_system_memory_in_mb"
+    fi
+    MAX_HEAP_SIZE="${max_heap_size_in_mb}M"
+
+    # Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 * heap size)
+    max_sensible_yg_per_core_in_mb="100"
+    max_sensible_yg_in_mb=`expr $max_sensible_yg_per_core_in_mb "*" $system_cpu_cores`
+
+    desired_yg_in_mb=`expr $max_heap_size_in_mb / 4`
+
+    if [ "$desired_yg_in_mb" -gt "$max_sensible_yg_in_mb" ]
+    then
+        HEAP_NEWSIZE="${max_sensible_yg_in_mb}M"
+    else
+        HEAP_NEWSIZE="${desired_yg_in_mb}M"
+    fi
+}
+
+# Determine the sort of JVM we'll be running on.
+
+java_ver_output=`"${JAVA:-java}" -version 2>&1`
+
+jvmver=`echo "$java_ver_output" | grep '[openjdk|java] version' | awk -F'"' 'NR==1 {print $2}'`
+JVM_VERSION=${jvmver%_*}
+JVM_PATCH_VERSION=${jvmver#*_}
+
+if [ "$JVM_VERSION" -lt "1.7" ] ; then
+    echo "Cassandra 2.0 and later require Java 7u25 or later."
+    exit 1;
+fi
+
+if [ "$JVM_VERSION" -lt "1.8" ] && [ "$JVM_PATCH_VERSION" -lt "25" ] ; then
+    echo "Cassandra 2.0 and later require Java 7u25 or later."
+    exit 1;
+fi
+
+
+jvm=`echo "$java_ver_output" | grep -A 1 'java version' | awk 'NR==2 {print $1}'`
+case "$jvm" in
+    OpenJDK)
+        JVM_VENDOR=OpenJDK
+        # this will be "64-Bit" or "32-Bit"
+        JVM_ARCH=`echo "$java_ver_output" | awk 'NR==3 {print $2}'`
+        ;;
+    "Java(TM)")
+        JVM_VENDOR=Oracle
+        # this will be "64-Bit" or "32-Bit"
+        JVM_ARCH=`echo "$java_ver_output" | awk 'NR==3 {print $3}'`
+        ;;
+    *)
+        # Help fill in other JVM values
+        JVM_VENDOR=other
+        JVM_ARCH=unknown
+        ;;
+esac
+
+
+# Override these to set the amount of memory to allocate to the JVM at
+# start-up. For production use you may wish to adjust this for your
+# environment. MAX_HEAP_SIZE is the total amount of memory dedicated
+# to the Java heap; HEAP_NEWSIZE refers to the size of the young
+# generation. Both MAX_HEAP_SIZE and HEAP_NEWSIZE should be either set
+# or not (if you set one, set the other).
+#
+# The main trade-off for the young generation is that the larger it
+# is, the longer GC pause times will be. The shorter it is, the more
+# expensive GC will be (usually).
+#
+# The example HEAP_NEWSIZE assumes a modern 8-core+ machine for decent pause
+# times. If in doubt, and if you do not particularly want to tweak, go with
+# 100 MB per physical CPU core.
+
+#MAX_HEAP_SIZE="4G"
+#HEAP_NEWSIZE="800M"
+
+{%- if database.max_heap_size is defined %}
+MAX_HEAP_SIZE="{{ database.max_heap_size }}"
+{%- endif %}
+{%- if database.heap_newsize is defined %}
+HEAP_NEWSIZE="{{ database.heap_newsize }}"
+{%- endif %}
+
+# Set this to control the amount of arenas per-thread in glibc
+#export MALLOC_ARENA_MAX=4
+
+if [ "x$MAX_HEAP_SIZE" = "x" ] && [ "x$HEAP_NEWSIZE" = "x" ]; then
+    calculate_heap_sizes
+else
+    if [ "x$MAX_HEAP_SIZE" = "x" ] ||  [ "x$HEAP_NEWSIZE" = "x" ]; then
+        echo "please set or unset MAX_HEAP_SIZE and HEAP_NEWSIZE in pairs (see cassandra-env.sh)"
+        exit 1
+    fi
+fi
+
+if [ "x$MALLOC_ARENA_MAX" = "x" ]
+then
+    export MALLOC_ARENA_MAX=4
+fi
+
+# Specifies the default port over which Cassandra will be available for
+# JMX connections.
+# For security reasons, you should not expose this port to the internet.  Firewall it if needed.
+JMX_PORT="7199"
+
+
+# Here we create the arguments that will get passed to the jvm when
+# starting cassandra.
+
+# enable assertions.  disabling this in production will give a modest
+# performance benefit (around 5%).
+JVM_OPTS="$JVM_OPTS -ea"
+
+# add the jamm javaagent
+JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.3.0.jar"
+
+# some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541
+JVM_OPTS="$JVM_OPTS -XX:+CMSClassUnloadingEnabled"
+
+# enable thread priorities, primarily so we can give periodic tasks
+# a lower priority to avoid interfering with client workload
+JVM_OPTS="$JVM_OPTS -XX:+UseThreadPriorities"
+# allows lowering thread priority without being root.  see
+# http://tech.stolsvik.com/2010/01/linux-java-thread-priorities-workaround.html
+JVM_OPTS="$JVM_OPTS -XX:ThreadPriorityPolicy=42"
+
+# min and max heap sizes should be set to the same value to avoid
+# stop-the-world GC pauses during resize, and so that we can lock the
+# heap in memory on startup to prevent any of it from being swapped
+# out.
+JVM_OPTS="$JVM_OPTS -Xms${MAX_HEAP_SIZE}"
+JVM_OPTS="$JVM_OPTS -Xmx${MAX_HEAP_SIZE}"
+JVM_OPTS="$JVM_OPTS -Xmn${HEAP_NEWSIZE}"
+JVM_OPTS="$JVM_OPTS -XX:+HeapDumpOnOutOfMemoryError"
+
+# set jvm HeapDumpPath with CASSANDRA_HEAPDUMP_DIR
+if [ "x$CASSANDRA_HEAPDUMP_DIR" != "x" ]; then
+    JVM_OPTS="$JVM_OPTS -XX:HeapDumpPath=$CASSANDRA_HEAPDUMP_DIR/cassandra-`date +%s`-pid$$.hprof"
+fi
+
+
+startswith() { [ "${1#$2}" != "$1" ]; }
+
+# Per-thread stack size.
+JVM_OPTS="$JVM_OPTS -Xss256k"
+
+# Larger interned string table, for gossip's benefit (CASSANDRA-6410)
+JVM_OPTS="$JVM_OPTS -XX:StringTableSize=1000003"
+
+# GC tuning options
+JVM_OPTS="$JVM_OPTS -XX:+UseParNewGC"
+JVM_OPTS="$JVM_OPTS -XX:+UseConcMarkSweepGC"
+JVM_OPTS="$JVM_OPTS -XX:+CMSParallelRemarkEnabled"
+JVM_OPTS="$JVM_OPTS -XX:SurvivorRatio=8"
+JVM_OPTS="$JVM_OPTS -XX:MaxTenuringThreshold=1"
+JVM_OPTS="$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=75"
+JVM_OPTS="$JVM_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
+JVM_OPTS="$JVM_OPTS -XX:+UseTLAB"
+JVM_OPTS="$JVM_OPTS -XX:CompileCommandFile=$CASSANDRA_CONF/hotspot_compiler"
+JVM_OPTS="$JVM_OPTS -XX:CMSWaitDuration=10000"
+
+# note: bash evals '1.7.x' as > '1.7' so this is really a >= 1.7 jvm check
+if { [ "$JVM_VERSION" -gt "1.7" ] && [ "$JVM_VERSION" -lt "1.8.0" ] && [ "$JVM_PATCH_VERSION" -ge "60" ]; } || [ "$JVM_VERSION" -gt "1.8" ] ; then
+    JVM_OPTS="$JVM_OPTS -XX:+CMSParallelInitialMarkEnabled -XX:+CMSEdenChunksRecordAlways -XX:CMSWaitDuration=10000"
+fi
+
+if [ "$JVM_ARCH" = "64-Bit" ] ; then
+    JVM_OPTS="$JVM_OPTS -XX:+UseCondCardMark"
+fi
+
+{% set cassandra_gc_logging = database.get('cassandra_gc_logging', 'rotation') %}
+{% if  cassandra_gc_logging %}
+# GC logging options -- uncomment to enable
+JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails"
+JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps"
+JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC"
+JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution"
+JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime"
+JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure"
+JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1"
+{% if cassandra_gc_logging == 'legacy' %}
+JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log"
+{% elif cassandra_gc_logging == 'rotation' %}
+#JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log"
+
+# If you are using JDK 6u34 7u2 or later you can enable GC log rotation
+# don't stick the date in the log name if rotation is on.
+JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc.log"
+JVM_OPTS="$JVM_OPTS -XX:+UseGCLogFileRotation"
+JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10"
+JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M"
+{% endif %}
+{% endif %}
+
+# Configure the following for JEMallocAllocator and if jemalloc is not available in the system
+# library path (Example: /usr/local/lib/). Usually "make install" will do the right thing.
+# export LD_LIBRARY_PATH=<JEMALLOC_HOME>/lib/
+# JVM_OPTS="$JVM_OPTS -Djava.library.path=<JEMALLOC_HOME>/lib/"
+
+# uncomment to have Cassandra JVM listen for remote debuggers/profilers on port 1414
+# JVM_OPTS="$JVM_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"
+
+# uncomment to have Cassandra JVM log internal method compilation (developers only)
+# JVM_OPTS="$JVM_OPTS -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation"
+
+# Prefer binding to IPv4 network intefaces (when net.ipv6.bindv6only=1). See
+# http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6342561 (short version:
+# comment out this entry to enable IPv6 support).
+JVM_OPTS="$JVM_OPTS -Djava.net.preferIPv4Stack=true"
+
+# jmx: metrics and administration interface
+#
+# add this if you're having trouble connecting:
+# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
+#
+# see
+# https://blogs.oracle.com/jmxetc/entry/troubleshooting_connection_problems_in_jconsole
+# for more on configuring JMX through firewalls, etc. (Short version:
+# get it working with no firewall first.)
+#
+# Cassandra ships with JMX accessible *only* from localhost.
+# To enable remote JMX connections, uncomment lines below
+# with authentication and/or ssl enabled. See https://wiki.apache.org/cassandra/JmxSecurity
+#
+LOCAL_JMX=yes
+
+if [ "$LOCAL_JMX" = "yes" ]; then
+  JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT -XX:+DisableExplicitGC"
+else
+  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT"
+  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"
+  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=false"
+  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
+  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
+fi
+
+# To use mx4j, an HTML interface for JMX, add mx4j-tools.jar to the lib/
+# directory.
+# See http://wiki.apache.org/cassandra/Operations#Monitoring_with_MX4J
+# By default mx4j listens on 0.0.0.0:8081. Uncomment the following lines
+# to control its listen address and port.
+#MX4J_ADDRESS="-Dmx4jaddress=127.0.0.1"
+#MX4J_PORT="-Dmx4jport=8081"
+
+JVM_OPTS="$JVM_OPTS $MX4J_ADDRESS"
+JVM_OPTS="$JVM_OPTS $MX4J_PORT"
+JVM_OPTS="$JVM_OPTS $JVM_EXTRA_OPTS"
diff --git a/opencontrail/files/4.0/database/cassandra-env.sh b/opencontrail/files/4.0/database/cassandra-env.sh
index 2eb5fbd..6b70455 100644
--- a/opencontrail/files/4.0/database/cassandra-env.sh
+++ b/opencontrail/files/4.0/database/cassandra-env.sh
@@ -170,7 +170,7 @@
 # Specifies the default port over which Cassandra will be available for
 # JMX connections.
 # For security reasons, you should not expose this port to the internet.  Firewall it if needed.
-JMX_PORT="7199"
+JMX_PORT="7198"
 
 
 # Here we create the arguments that will get passed to the jvm when
@@ -217,10 +217,10 @@
 JVM_OPTS="$JVM_OPTS -XX:StringTableSize=1000003"
 
 # GC tuning options
-JVM_OPTS="$JVM_OPTS -XX:+UseParNewGC" 
-JVM_OPTS="$JVM_OPTS -XX:+UseConcMarkSweepGC" 
-JVM_OPTS="$JVM_OPTS -XX:+CMSParallelRemarkEnabled" 
-JVM_OPTS="$JVM_OPTS -XX:SurvivorRatio=8" 
+JVM_OPTS="$JVM_OPTS -XX:+UseParNewGC"
+JVM_OPTS="$JVM_OPTS -XX:+UseConcMarkSweepGC"
+JVM_OPTS="$JVM_OPTS -XX:+CMSParallelRemarkEnabled"
+JVM_OPTS="$JVM_OPTS -XX:SurvivorRatio=8"
 JVM_OPTS="$JVM_OPTS -XX:MaxTenuringThreshold=1"
 JVM_OPTS="$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=75"
 JVM_OPTS="$JVM_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
@@ -261,8 +261,8 @@
 {% endif %}
 {% endif %}
 
-# Configure the following for JEMallocAllocator and if jemalloc is not available in the system 
-# library path (Example: /usr/local/lib/). Usually "make install" will do the right thing. 
+# Configure the following for JEMallocAllocator and if jemalloc is not available in the system
+# library path (Example: /usr/local/lib/). Usually "make install" will do the right thing.
 # export LD_LIBRARY_PATH=<JEMALLOC_HOME>/lib/
 # JVM_OPTS="$JVM_OPTS -Djava.library.path=<JEMALLOC_HOME>/lib/"
 
@@ -287,9 +287,9 @@
 # for more on configuring JMX through firewalls, etc. (Short version:
 # get it working with no firewall first.)
 #
-# Cassandra ships with JMX accessible *only* from localhost.  
+# Cassandra ships with JMX accessible *only* from localhost.
 # To enable remote JMX connections, uncomment lines below
-# with authentication and/or ssl enabled. See https://wiki.apache.org/cassandra/JmxSecurity 
+# with authentication and/or ssl enabled. See https://wiki.apache.org/cassandra/JmxSecurity
 #
 LOCAL_JMX=yes
 
diff --git a/opencontrail/files/4.0/doctrail b/opencontrail/files/4.0/doctrail
new file mode 100644
index 0000000..6b508d8
--- /dev/null
+++ b/opencontrail/files/4.0/doctrail
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then
+  echo -e  "\nUsage: $0 {analytics|analyticsdb|controller|all} {<command_to_send>|console}\n"
+  echo "Examples: "
+  echo "$0 controller contrail-status"
+  echo "$0 controller service contrail-database restart"
+  echo "$0 all contrail-status"
+  echo "$0 controller console "
+  echo -e "\n"
+  exit 0
+fi
+
+NODES=("analytics" "analyticsdb" "controller")
+
+if [ "$1" == "all" ] ; then
+  for el in ${NODES[*]}; do
+    NODE=$(docker ps | grep _"$el"_ | awk '{print $1}')
+    if [[ -n $NODE ]] ; then
+      echo -e "\n\n FOR NODE $el\n*****************************************\n"
+      docker exec $NODE ${@:2}
+    fi
+  done
+else
+  CORRECT=$(echo ${NODES[@]} | grep -o $1 | wc -w)
+
+  if [ "$CORRECT" -gt 0 ] && [ "$1" != "all" ]; then
+    if [ "$2" == "console" ]; then
+      echo "Starting console:"
+      NODE=$(docker ps | grep _$1_ | awk '{print $1}')
+      docker exec -it $NODE bash
+    else
+      NODE=$(docker ps | grep _$1_ | awk '{print $1}')
+      docker exec $NODE ${@:2}
+    fi
+  else
+    echo "Unknow target, use -h or --help paramater for help"
+    exit 0
+  fi
+fi
diff --git a/opencontrail/files/4.0/collector/redis.conf b/opencontrail/files/4.0/redis.conf
similarity index 99%
rename from opencontrail/files/4.0/collector/redis.conf
rename to opencontrail/files/4.0/redis.conf
index a196902..db9c433 100644
--- a/opencontrail/files/4.0/collector/redis.conf
+++ b/opencontrail/files/4.0/redis.conf
@@ -1,3 +1,4 @@
+{%- from "opencontrail/map.jinja" import collector with context %}
 # Redis configuration file example
 
 # Note on units: when memory size is needed, it is possible to specify
@@ -52,7 +53,7 @@
 # Examples:
 #
 # bind 192.168.1.100 10.0.0.1
-#bind 127.0.0.1
+bind 127.0.0.1 {{ collector.bind.address }}
 
 # Specify the path for the unix socket that will be used to listen for
 # incoming connections. There is no default, so Redis will not listen
@@ -171,9 +172,9 @@
 #
 # The DB will be written inside this directory, with the filename specified
 # above using the 'dbfilename' configuration directive.
-# 
+#
 # The Append Only File will also be created inside this directory.
-# 
+#
 # Note that you must specify a directory here, not a file name.
 dir /var/lib/redis
 
@@ -322,7 +323,7 @@
 #
 # This should stay commented out for backward compatibility and because most
 # people do not need auth (e.g. they run their own servers).
-# 
+#
 # Warning: since Redis is pretty fast an outside user can try up to
 # 150k passwords per second against a good box. This means that you should
 # use a very strong password otherwise it will be very easy to break.
@@ -388,14 +389,14 @@
 
 # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
 # is reached. You can select among five behaviors:
-# 
+#
 # volatile-lru -> remove the key with an expire set using an LRU algorithm
 # allkeys-lru -> remove any key accordingly to the LRU algorithm
 # volatile-random -> remove a random key with an expire set
 # allkeys-random -> remove a random key, any key
 # volatile-ttl -> remove the key with the nearest expire time (minor TTL)
 # noeviction -> don't expire at all, just return an error on write operations
-# 
+#
 # Note: with any of the above policies, Redis will return an error on write
 #       operations, when there are not suitable keys for eviction.
 #
@@ -444,7 +445,7 @@
 appendfilename "appendonly.aof"
 
 # The fsync() call tells the Operating System to actually write data on disk
-# instead to wait for more data in the output buffer. Some OS will really flush 
+# instead to wait for more data in the output buffer. Some OS will really flush
 # data on disk, some other OS will just try to do it ASAP.
 #
 # Redis supports three different modes:
@@ -485,7 +486,7 @@
 # the same as "appendfsync none". In practical terms, this means that it is
 # possible to lose up to 30 seconds of log in the worst scenario (with the
 # default Linux settings).
-# 
+#
 # If you have latency problems turn this to "yes". Otherwise leave it as
 # "no" that is the safest pick from the point of view of durability.
 
@@ -494,7 +495,7 @@
 # Automatic rewrite of the append only file.
 # Redis is able to automatically rewrite the log file implicitly calling
 # BGREWRITEAOF when the AOF log size grows by the specified percentage.
-# 
+#
 # This is how it works: Redis remembers the size of the AOF file after the
 # latest rewrite (if no rewrite has happened since the restart, the size of
 # the AOF at startup is used).
@@ -537,7 +538,7 @@
 # but just the time needed to actually execute the command (this is the only
 # stage of command execution where the thread is blocked and can not serve
 # other requests in the meantime).
-# 
+#
 # You can configure the slow log with two parameters: one tells Redis
 # what is the execution time, in microseconds, to exceed in order for the
 # command to get logged, and the other parameter is the length of the
@@ -557,7 +558,7 @@
 
 # Redis can notify Pub/Sub clients about events happening in the key space.
 # This feature is documented at http://redis.io/topics/keyspace-events
-# 
+#
 # For instance if keyspace events notification is enabled, and a client
 # performs a DEL operation on key "foo" stored in the Database 0, two
 # messages will be published via Pub/Sub:
@@ -633,7 +634,7 @@
 # that is rehashing, the more rehashing "steps" are performed, so if the
 # server is idle the rehashing is never complete and some more memory is used
 # by the hash table.
-# 
+#
 # The default is to use this millisecond 10 times every second in order to
 # active rehashing the main dictionaries, freeing memory when possible.
 #
@@ -705,4 +706,3 @@
 # in order to commit the file to the disk more incrementally and avoid
 # big latency spikes.
 aof-rewrite-incremental-fsync yes
-
diff --git a/opencontrail/files/4.0/server.properties b/opencontrail/files/4.0/server.properties
index 98b8c71..eacd666 100644
--- a/opencontrail/files/4.0/server.properties
+++ b/opencontrail/files/4.0/server.properties
@@ -115,7 +115,7 @@
 # You can also append an optional chroot string to the urls to specify the
 # root directory for all kafka znodes.
 #zookeeper.connect=10.0.102.211:2181
-zookeeper.connect={% for member in database.members %}{{ member.host }}:2181{% if not loop.last %},{% endif %}{% endfor %}
+zookeeper.connect={% for member in database.members %}{{ member.host }}:2182{% if not loop.last %},{% endif %}{% endfor %}
 
 # Timeout in ms for connecting to zookeeper
 log.cleanup.policy=delete
diff --git a/opencontrail/files/4.0/zoo_analytics.cfg b/opencontrail/files/4.0/zoo_analytics.cfg
new file mode 100644
index 0000000..48a3663
--- /dev/null
+++ b/opencontrail/files/4.0/zoo_analytics.cfg
@@ -0,0 +1,61 @@
+{%- from "opencontrail/map.jinja" import database with context %}
+# http://hadoop.apache.org/zookeeper/docs/current/zookeeperAdmin.html
+
+# The number of milliseconds of each tick
+tickTime=2000
+# The number of ticks that the initial
+# synchronization phase can take
+initLimit=10
+# The number of ticks that can pass between
+# sending a request and getting an acknowledgement
+syncLimit=5
+# the directory where the snapshot is stored.
+dataDir=/var/lib/zookeeper
+# Place the dataLogDir to a separate physical disc for better performance
+# dataLogDir=/disk2/zookeeper
+
+# the port at which the clients will connect
+clientPort=2182
+
+# specify all zookeeper servers
+# The fist port is used by followers to connect to the leader
+# The second one is used for leader election
+#server.1=zookeeper1:2888:3888
+#server.2=zookeeper2:2888:3888
+#server.3=zookeeper3:2888:3888
+
+
+# To avoid seeks ZooKeeper allocates space in the transaction log file in
+# blocks of preAllocSize kilobytes. The default block size is 64M. One reason
+# for changing the size of the blocks is to reduce the block size if snapshots
+# are taken more often. (Also, see snapCount).
+#preAllocSize=65536
+
+# Clients can submit requests faster than ZooKeeper can process them,
+# especially if there are a lot of clients. To prevent ZooKeeper from running
+# out of memory due to queued requests, ZooKeeper will throttle clients so that
+# there is no more than globalOutstandingLimit outstanding requests in the
+# system. The default limit is 1,000.ZooKeeper logs transactions to a
+# transaction log. After snapCount transactions are written to a log file a
+# snapshot is started and a new transaction log file is started. The default
+# snapCount is 10,000.
+#snapCount=1000
+
+# If this option is defined, requests will be will logged to a trace file named
+# traceFile.year.month.day.
+#traceFile=
+
+# Leader accepts client connections. Default value is "yes". The leader machine
+# coordinates updates. For higher update throughput at thes slight expense of
+# read throughput the leader can be configured to not accept clients and focus
+# on coordination.
+#leaderServes=yes
+
+maxSessionTimeout=120000
+autopurge.purgeInterval=3
+{%- for member in database.members %}
+server.{{ member.id }}={{ member.host }}:2889:3889
+{%- endfor %}
+#server.1=10.0.222.2:2889:3889
+#server.2=10.0.222.3:2889:3889
+#server.3=10.0.222.4:2889:3889
diff --git a/opencontrail/files/4.0/zookeeper b/opencontrail/files/4.0/zookeeper
index a7dc0e7..b1ed501 100644
--- a/opencontrail/files/4.0/zookeeper
+++ b/opencontrail/files/4.0/zookeeper
@@ -4,7 +4,7 @@
 # by default we allow local JMX connections
 #JMXLOCALONLY=false
 
-JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=7188 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dzookeeper.jmx.log4j.disable=false"
+JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dzookeeper.jmx.log4j.disable=false"
 
 # Make sure to include the original classpath since it contains the zookeeper
 # jars
diff --git a/opencontrail/files/4.0/zookeeper.properties b/opencontrail/files/4.0/zookeeper.properties
new file mode 100644
index 0000000..3f18f01
--- /dev/null
+++ b/opencontrail/files/4.0/zookeeper.properties
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# the directory where the snapshot is stored.
+dataDir=/tmp/zookeeper
+# the port at which the clients will connect
+clientPort=2182
+# disable the per-ip limit on the number of connections since this is a non-production config
+maxClientCnxns=0
diff --git a/opencontrail/files/4.0/zookeeper_analytics b/opencontrail/files/4.0/zookeeper_analytics
new file mode 100644
index 0000000..42b22b4
--- /dev/null
+++ b/opencontrail/files/4.0/zookeeper_analytics
@@ -0,0 +1,11 @@
+# See the following page for extensive details on setting
+# up the JVM to accept JMX remote management:
+# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html
+# by default we allow local JMX connections
+#JMXLOCALONLY=false
+
+JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=7198 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dzookeeper.jmx.log4j.disable=false"
+
+# Make sure to include the original classpath since it contains the zookeeper
+# jars
+#CLASSPATH="$CLASSPATH:YOURCLASSPATH"
diff --git a/opencontrail/web.sls b/opencontrail/web.sls
index 00c72bd..8e6273b 100644
--- a/opencontrail/web.sls
+++ b/opencontrail/web.sls
@@ -1,26 +1,27 @@
 {%- from "opencontrail/map.jinja" import web with context %}
 {%- if web.enabled %}
 
+{%- if not web.get('config_only', False) %}
 opencontrail_web_packages:
   pkg.installed:
   - names: {{ web.pkgs }}
   - force_yes: True
+  - require_in:
+    - /etc/contrail/contrail-webui-userauth.js
+    - /etc/contrail/config.global.js
+{%- endif %}
 
 /etc/contrail/config.global.js:
   file.managed:
   - source: salt://opencontrail/files/{{ web.version }}/config.global.js
   - template: jinja
-  - require:
-    - pkg: opencontrail_web_packages
 
 /etc/contrail/contrail-webui-userauth.js:
   file.managed:
   - source: salt://opencontrail/files/{{ web.version }}/contrail-webui-userauth.js
   - template: jinja
-  - require:
-    - pkg: opencontrail_web_packages
-  - watch_in:
-    - service: opencontrail_web_services
+
+{%- if not web.get('config_only', False) %}
 
 opencontrail_web_services:
   service.running:
@@ -29,8 +30,9 @@
   {%- if grains.get('noservices') %}
   - onlyif: /bin/false
   {%- endif %}
-  - watch: 
+  - watch:
     - file: /etc/contrail/config.global.js
+    - file: /etc/contrail/contrail-webui-userauth.js
 
 {%- if grains.get('virtual_subtype', None) == "Docker" %}
 
@@ -44,3 +46,17 @@
 {%- endif %}
 
 {%- endif %}
+
+{%- if web.version >= 4.0 and web.get('config_only', False) %}
+/lib/systemd/system/contrail-webui-jobserver.service:
+  file.managed:
+  - source: salt://opencontrail/files/{{ web.version }}/contrail-webui-jobserver.service
+  - template: jinja
+
+/lib/systemd/system/contrail-webui-webserver.service:
+  file.managed:
+  - source: salt://opencontrail/files/{{ web.version }}/contrail-webui-webserver.service
+  - template: jinja
+{%- endif %}
+
+{%- endif %}
diff --git a/tests/pillar/analytics40.sls b/tests/pillar/analytics40.sls
index 9ab5628..34bc5eb 100644
--- a/tests/pillar/analytics40.sls
+++ b/tests/pillar/analytics40.sls
@@ -1,6 +1,7 @@
 opencontrail:
   common:
     version: 4.0
+    config_only: true
     identity:
       engine: keystone
       host: 127.0.0.1
@@ -12,7 +13,18 @@
       host: 127.0.0.1
       port: 9696
   collector:
+    identity:
+      engine: keystone
+      version: '2.0'
+      region: RegionOne
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
     version: 4.0
+    config_only: true
     enabled: true
     bind:
       address: 127.0.0.1
@@ -45,6 +57,7 @@
       - host: 127.0.0.1
   database:
     version: 4.0
+    config_only: true
     cassandra:
       version: 2
     enabled: true
diff --git a/tests/pillar/cluster40.sls b/tests/pillar/cluster40.sls
index 387b934..4cdac34 100644
--- a/tests/pillar/cluster40.sls
+++ b/tests/pillar/cluster40.sls
@@ -1,6 +1,7 @@
 opencontrail:
   common:
     version: 4.0
+    config_only: true
     identity:
       engine: keystone
       host: 127.0.0.1
@@ -13,6 +14,7 @@
       port: 9696
   config:
     version: 4.0
+    config_only: true
     enabled: true
     api:
       host: 127.0.0.1
@@ -66,6 +68,7 @@
       id: 3
   control:
     version: 4.0
+    config_only: true
     enabled: true
     name: ntw-01
     bind:
@@ -95,7 +98,18 @@
       - host: 127.0.0.1
       - host: 127.0.0.1
   collector:
+    identity:
+      engine: keystone
+      version: '2.0'
+      region: RegionOne
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
     version: 4.0
+    config_only: true
     enabled: true
     bind:
       address: 127.0.0.1
@@ -128,6 +142,7 @@
       - host: 127.0.0.1
   database:
     version: 4.0
+    config_only: true
     cassandra:
       version: 2
     enabled: true
@@ -155,6 +170,7 @@
       - host: 127.0.0.1
   web:
     version: 4.0
+    config_only: true
     enabled: True
     network:
       host: 127.0.0.1
diff --git a/tests/pillar/control40.sls b/tests/pillar/control40.sls
index 907dee7..5351ef8 100644
--- a/tests/pillar/control40.sls
+++ b/tests/pillar/control40.sls
@@ -1,6 +1,7 @@
 opencontrail:
   common:
     version: 4.0
+    config_only: true
     identity:
       engine: keystone
       host: 127.0.0.1
@@ -13,6 +14,7 @@
       port: 9696
   config:
     version: 4.0
+    config_only: true
     enabled: true
     api:
       host: 127.0.0.1
@@ -67,6 +69,7 @@
     list_optimization_enabled: true
   control:
     version: 4.0
+    config_only: true
     enabled: true
     name: ntw-01
     bind:
@@ -97,6 +100,7 @@
       id: 3
   database:
     version: 4.0
+    config_only: true
     cassandra:
       version: 2
     enabled: true
@@ -124,6 +128,7 @@
       - host: 127.0.0.1
   web:
     version: 4.0
+    config_only: true
     enabled: True
     network:
       host: 127.0.0.1
diff --git a/tests/pillar/repo_opencontrail_oc40.sls b/tests/pillar/repo_opencontrail_oc40.sls
index 4e856d1..98f3056 100644
--- a/tests/pillar/repo_opencontrail_oc40.sls
+++ b/tests/pillar/repo_opencontrail_oc40.sls
@@ -10,10 +10,3 @@
         - pin: 'release a=nightly'
           priority: 1100
           package: '*'
-    package:
-      librdkafka1:
-        version: 0.9.0-0contrail0
-        hold: true
-      python-kafka:
-        version: 1.0.1-0contrail1
-        hold: true
diff --git a/tests/pillar/single40.sls b/tests/pillar/single40.sls
index 5edb3dd..008a004 100644
--- a/tests/pillar/single40.sls
+++ b/tests/pillar/single40.sls
@@ -73,6 +73,16 @@
     - host: 127.0.0.1
       id: 1
   collector:
+    identity:
+      engine: keystone
+      version: '2.0'
+      region: RegionOne
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
     version: 4.0
     enabled: true
     bind:
