initial commit
diff --git a/system/opencontrail/compute/cluster.yml b/system/opencontrail/compute/cluster.yml
new file mode 100644
index 0000000..1f6eaf3
--- /dev/null
+++ b/system/opencontrail/compute/cluster.yml
@@ -0,0 +1,32 @@
+parameters:
+  _param:
+    opencontrail_compute_iface_mask: 24
+  opencontrail:
+    common:
+      version: ${_param:opencontrail_version}
+      identity:
+        engine: keystone
+        host: ${_param:openstack_control_address}
+        port: 35357
+        token: ${_param:keystone_service_token}
+        password: ${_param:keystone_admin_password}
+      network:
+        engine: neutron
+        host: ${_param:opencontrail_control_address}
+        port: 9696
+    compute:
+      version: ${_param:opencontrail_version}
+      disable_flow_collection: true
+      enabled: True
+      discovery:
+        host: ${_param:opencontrail_control_address}
+      interface:
+        address: ${_param:opencontrail_compute_address}
+        dev: ${_param:opencontrail_compute_iface}
+        gateway: ${_param:opencontrail_compute_gateway}
+        mask: ${_param:opencontrail_compute_iface_mask}
+        dns: ${_param:opencontrail_compute_dns}
+        mtu: 9000
+  nova:
+    compute:
+      networking: contrail
diff --git a/system/opencontrail/compute/single.yml b/system/opencontrail/compute/single.yml
new file mode 100644
index 0000000..d3caa45
--- /dev/null
+++ b/system/opencontrail/compute/single.yml
@@ -0,0 +1,50 @@
+applications:
+- opencontrail
+parameters:
+  _param:
+    opencontrail_compute_iface_mask: 24
+  opencontrail:
+    common:
+      version: ${_param:opencontrail_version}
+      identity:
+        engine: keystone
+        host: ${_param:control_address}
+        port: 35357
+        token: ${_param:keystone_service_token}
+        password: ${_param:keystone_admin_password}
+      network:
+        engine: neutron
+        host: ${_param:control_address}
+        port: 9696
+    compute:
+      version: ${_param:opencontrail_version}
+      enabled: True
+      discovery:
+        host: ${_param:control_address}
+      interface:
+        address: ${_param:opencontrail_compute_address}
+        dev: ${_param:opencontrail_compute_iface}
+        gateway: ${_param:opencontrail_compute_gateway}
+        mask: ${_param:opencontrail_compute_iface_mask}
+        dns: ${_param:opencontrail_compute_dns}
+        mtu: 9000
+  nova:
+    compute:
+      networking: contrail
+      network:
+        engine: keystone
+        host: ${_param:control_address}
+        user: neutron
+        password: ${_param:keystone_neutron_password}
+        tenant: service
+  neutron:
+    switch:
+      enabled: false
+      identity:
+        engine: keystone
+        host: ${_param:control_address}
+        port: 35357
+        user: neutron
+        password: ${_param:keystone_neutron_password}
+        tenant: service
+
diff --git a/system/opencontrail/control/analytics.yml b/system/opencontrail/control/analytics.yml
new file mode 100644
index 0000000..6fbc85a
--- /dev/null
+++ b/system/opencontrail/control/analytics.yml
@@ -0,0 +1,55 @@
+classes:
+- service.haproxy.proxy.single
+- service.keepalived.cluster.single
+- service.opencontrail.control.analytics
+- system.haproxy.proxy.listen.opencontrail.analytics
+parameters:
+# Temprorary fix for MOS9 packages to pin old version of kafka
+  linux:
+    system:
+      package:
+        librdkafka1:
+          version: 0.9.0-0contrail0
+        python-kafka:
+          version: 1.0.1-0contrail1
+  opencontrail:
+    common:
+      version: ${_param:opencontrail_version}
+      identity:
+        engine: keystone
+        host: ${_param:openstack_control_address}
+        port: 35357
+        token: '${_param:keystone_service_token}'
+        password: '${_param:keystone_admin_password}'
+      network:
+        engine: neutron
+        host: ${_param:opencontrail_control_address}
+        port: 9696
+    collector:
+      version: ${_param:opencontrail_version}
+      enabled: true
+      bind:
+        address: ${_param:cluster_local_address}
+        port: 9081
+      master:
+        host: ${_param:cluster_local_address}
+      discovery:
+        host: ${_param:opencontrail_control_address}
+      data_ttl: 1
+    database:
+      version: ${_param:opencontrail_version}
+      cassandra:
+        version: 2
+      enabled: true
+      name: 'Contrail'
+      minimum_disk: 10
+      original_token: 0
+      data_dirs:
+      - /var/lib/cassandra
+      id: ${_param:opencontrail_database_id}
+      discovery:
+        host: ${_param:opencontrail_control_address}
+      bind:
+        host: ${_param:cluster_local_address}
+        port: 9042
+        rpc_port: 9160
\ No newline at end of file
diff --git a/system/opencontrail/control/cluster.yml b/system/opencontrail/control/cluster.yml
new file mode 100644
index 0000000..b3f1052
--- /dev/null
+++ b/system/opencontrail/control/cluster.yml
@@ -0,0 +1,16 @@
+classes:
+- service.haproxy.proxy.single
+- service.keepalived.cluster.single
+- service.opencontrail.control.cluster
+- system.haproxy.proxy.listen.opencontrail.control
+parameters:
+# Temprorary fix for MOS9 packages to pin old version of kafka
+  linux:
+    system:
+      package:
+        librdkafka1:
+          version: 0.9.0-0contrail0
+        python-kafka:
+          version: 1.0.1-0contrail1
+        contrail-api-cli:
+          version: latest
diff --git a/system/opencontrail/control/control.yml b/system/opencontrail/control/control.yml
new file mode 100644
index 0000000..ea9f1ab
--- /dev/null
+++ b/system/opencontrail/control/control.yml
@@ -0,0 +1,102 @@
+classes:
+- service.keepalived.cluster.single
+- service.opencontrail.control.control
+- system.haproxy.proxy.listen.opencontrail.control
+parameters:
+  _param:
+    multi_tenancy: false  
+  opencontrail:
+    common:
+      version: ${_param:opencontrail_version}
+      identity:
+        engine: keystone
+        host: ${_param:openstack_control_address}
+        port: 35357
+        token: '${_param:keystone_service_token}'
+        password: '${_param:keystone_admin_password}'
+      network:
+        engine: neutron
+        host: ${_param:cluster_vip_address}
+        port: 9696
+    config:
+      version: ${_param:opencontrail_version}
+      enabled: true
+      multi_tenancy: ${_param:multi_tenancy}
+      network:
+        engine: neutron
+        host: ${_param:cluster_vip_address}
+        port: 9696
+      discovery:
+        host: ${_param:cluster_vip_address}
+      analytics:
+        host: ${_param:opencontrail_analytics_address}
+      bind:
+        address: ${_param:cluster_local_address}
+        api_port: 9100
+        discovery_port: 9110
+      message_queue:
+        engine: rabbitmq
+        host: ${_param:openstack_message_queue_address}
+        port: 5672
+      identity:
+        engine: keystone
+        version: '2.0'
+        region: RegionOne
+        host: ${_param:openstack_control_address}
+        port: 35357
+        user: admin
+        password: '${_param:keystone_admin_password}'
+        token: '${_param:keystone_service_token}'
+        tenant: admin
+    control:
+      version: ${_param:opencontrail_version}
+      enabled: true
+      id: ${_param:opencontrail_database_id}
+      bind:
+        address: ${_param:cluster_local_address}
+      discovery:
+        host: ${_param:cluster_vip_address}
+      master:
+        host: ${_param:cluster_local_address}
+    database:
+      version: ${_param:opencontrail_version}
+      cassandra:
+        version: 2
+      enabled: true
+      name: 'Contrail'
+      minimum_disk: 10
+      original_token: 0
+      data_dirs:
+      - /var/lib/cassandra
+      id: ${_param:opencontrail_database_id}
+      discovery:
+        host: ${_param:cluster_vip_address}
+      bind:
+        host: ${_param:cluster_local_address}
+        port: 9042
+        rpc_port: 9160
+    web:
+      version: ${_param:opencontrail_version}
+      enabled: True
+      bind:
+        address: ${_param:cluster_local_address}
+      analytics:
+        host: ${_param:opencontrail_analytics_address}
+      master:
+        host: ${_param:cluster_vip_address}
+      cache:
+        engine: redis
+        host: ${_param:cluster_local_address}
+        port: 6379
+      identity:
+        engine: keystone
+        version: '2.0'
+        host: ${_param:openstack_control_address}
+        port: 35357
+        user: admin
+        password: '${_param:keystone_admin_password}'
+        token: '${_param:keystone_service_token}'
+        tenant: admin
+      network:
+        engine: neutron
+        host: ${_param:cluster_vip_address}
\ No newline at end of file
diff --git a/system/opencontrail/control/single.yml b/system/opencontrail/control/single.yml
new file mode 100644
index 0000000..5d3a32d
--- /dev/null
+++ b/system/opencontrail/control/single.yml
@@ -0,0 +1,67 @@
+classes:
+- service.opencontrail.control.single
+- service.haproxy.proxy.single
+parameters:
+# Temprorary fix for MOS9 packages to pin old version of kafka
+  linux:
+    system:
+      package:
+        librdkafka1:
+          version: 0.9.0-0contrail0
+        python-kafka:
+          version: 1.0.1-0contrail1
+        contrail-api-cli:
+          version: latest
+  haproxy:
+    proxy:
+      listen:
+        contrail_api:
+          type: contrail-api
+          service_name: contrail
+          check: false
+          binds:
+          - address: ${_param:single_address}
+            port: 8082
+          servers:
+          - name: ctl01
+            host: ${_param:single_address}
+            port: 9100
+            params: check inter 2000 rise 2 fall 3
+        contrail_discovery:
+          type: contrail-api
+          service_name: contrail
+          binds:
+          - address: ${_param:single_address}
+            port: 5998
+          servers:
+          - name: ctl01
+            host: ${_param:single_address}
+            port: 9110
+            params: check inter 2000 rise 2 fall 3
+        contrail_config_stats:
+          type: contrail-config
+          service_name: contrail
+          format: listen
+          binds:
+          - address: '*'
+            port: 5937
+          user: haproxy
+          password: ${_param:opencontrail_stats_password}
+        contrail_openstack_stats:
+          type: contrail-config
+          service_name: contrail
+          format: listen
+          binds:
+          - address: '*'
+            port: 5936
+          user: haproxy
+          password: ${_param:opencontrail_stats_password}
+        contrail_collector_stats:
+          type: contrail-config
+          service_name: contrail
+          format: listen
+          binds:
+          - address: '*'
+            port: 5938
+          user: haproxy
+          password: ${_param:opencontrail_stats_password}