Add OpenContrail 4.0 support

Change-Id: I8f9da4857194f4c4a30f4443f9a9eec1176da03c
diff --git a/tests/pillar/analytics4_0.sls b/tests/pillar/analytics4_0.sls
new file mode 100644
index 0000000..9ab5628
--- /dev/null
+++ b/tests/pillar/analytics4_0.sls
@@ -0,0 +1,72 @@
+opencontrail:
+  common:
+    version: 4.0
+    identity:
+      engine: keystone
+      host: 127.0.0.1
+      port: 35357
+      token: token
+      password: password
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+  collector:
+    version: 4.0
+    enabled: true
+    bind:
+      address: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    data_ttl: 1
+    database:
+      members:
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    message_queue:
+      host: 127.0.0.1
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    config:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+  database:
+    version: 4.0
+    cassandra:
+      version: 2
+    enabled: true
+    name: 'Contrail'
+    minimum_disk: 10
+    original_token: 0
+    data_dirs:
+    - /var/lib/cassandra
+    id: 1
+    bind:
+      host: 127.0.0.1
+      port: 9042
+      rpc_port: 9160
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
diff --git a/tests/pillar/cluster.sls b/tests/pillar/cluster.sls
index ada4df8..7d89d10 100644
--- a/tests/pillar/cluster.sls
+++ b/tests/pillar/cluster.sls
@@ -1,9 +1,6 @@
 opencontrail:
   common:
     version: 3.0
-    source:
-      engine: pkg
-      address: http://mirror.robotice.cz/contrail-havana/
     identity:
       engine: keystone
       host: 127.0.0.1
diff --git a/tests/pillar/cluster4_0.sls b/tests/pillar/cluster4_0.sls
new file mode 100644
index 0000000..387b934
--- /dev/null
+++ b/tests/pillar/cluster4_0.sls
@@ -0,0 +1,186 @@
+opencontrail:
+  common:
+    version: 4.0
+    identity:
+      engine: keystone
+      host: 127.0.0.1
+      port: 35357
+      token: token
+      password: password
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+  config:
+    version: 4.0
+    enabled: true
+    api:
+      host: 127.0.0.1
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+    bind:
+      address: 127.0.0.1
+    message_queue:
+      engine: rabbitmq
+      host: 127.0.0.1
+      port: 5672
+    database:
+      members:
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+    cache:
+      members:
+      - host: 127.0.0.1
+        port: 11211
+      - host: 127.0.0.1
+        port: 11211
+      - host: 127.0.0.1
+        port: 11211
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    identity:
+      engine: keystone
+      version: '2.0'
+      region: RegionOne
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+  control:
+    version: 4.0
+    enabled: true
+    name: ntw-01
+    bind:
+      address: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    message_queue:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    database:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+  collector:
+    version: 4.0
+    enabled: true
+    bind:
+      address: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    data_ttl: 1
+    database:
+      members:
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    message_queue:
+      host: 127.0.0.1
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    config:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+  database:
+    version: 4.0
+    cassandra:
+      version: 2
+    enabled: true
+    name: 'Contrail'
+    minimum_disk: 10
+    original_token: 0
+    data_dirs:
+    - /var/lib/cassandra
+    id: 1
+    bind:
+      host: 127.0.0.1
+      port: 9042
+      rpc_port: 9160
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+  web:
+    version: 4.0
+    enabled: True
+    network:
+      host: 127.0.0.1
+    bind:
+      address: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    analytics:
+      host: 127.0.0.1
+    cache:
+      engine: redis
+      host: 127.0.0.1
+      port: 6379
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+    identity:
+      engine: keystone
+      version: '2.0'
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
diff --git a/tests/pillar/control4_0.sls b/tests/pillar/control4_0.sls
new file mode 100644
index 0000000..4177979
--- /dev/null
+++ b/tests/pillar/control4_0.sls
@@ -0,0 +1,154 @@
+opencontrail:
+  common:
+    version: 4.0
+    identity:
+      engine: keystone
+      host: 127.0.0.1
+      port: 35357
+      token: token
+      password: password
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+  config:
+    version: 4.0
+    enabled: true
+    api:
+      host: 127.0.0.1
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    bind:
+      address: 127.0.0.1
+    message_queue:
+      engine: rabbitmq
+      host: 127.0.0.1
+      port: 5672
+    database:
+      members:
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+      - host: 127.0.0.1
+        port: 9160
+    cache:
+      members:
+      - host: 127.0.0.1
+        port: 11211
+      - host: 127.0.0.1
+        port: 11211
+      - host: 127.0.0.1
+        port: 11211
+    identity:
+      engine: keystone
+      version: '2.0'
+      region: RegionOne
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+  control:
+    version: 4.0
+    enabled: true
+    name: ntw-01
+    bind:
+      address: 127.0.0.1
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    message_queue:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    database:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+  database:
+    version: 4.0
+    cassandra:
+      version: 2
+    enabled: true
+    name: 'Contrail'
+    minimum_disk: 10
+    original_token: 0
+    data_dirs:
+    - /var/lib/cassandra
+    id: 1
+    bind:
+      host: 127.0.0.1
+      port: 9042
+      rpc_port: 9160
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+    analytics:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+  web:
+    version: 4.0
+    enabled: True
+    network:
+      host: 127.0.0.1
+    bind:
+      address: 127.0.0.1
+    analytics:
+      host: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    cache:
+      engine: redis
+      host: 127.0.0.1
+      port: 6379
+    members:
+    - host: 127.0.0.1
+      id: 1
+    - host: 127.0.0.1
+      id: 2
+    - host: 127.0.0.1
+      id: 3
+    identity:
+      engine: keystone
+      version: '2.0'
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
diff --git a/tests/pillar/repo_mos8.sls b/tests/pillar/repo_mos8.sls
deleted file mode 100644
index 1033cb4..0000000
--- a/tests/pillar/repo_mos8.sls
+++ /dev/null
@@ -1,24 +0,0 @@
-linux:
-  system:
-    enabled: true
-    repo:
-      mirantis_openstack_mos8:
-        source: "deb [arch=amd64] http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0 main restricted"
-        architectures: amd64
-        key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
-      #mirantis_openstack_hotfix:
-        #source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-hotfix main restricted"
-        #architectures: amd64
-        #key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
-      #mirantis_openstack_proposed:
-        #source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-proposed main restricted"
-        #architectures: amd64
-        #key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
-      #mirantis_openstack_security:
-        #source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-security main restricted"
-        #architectures: amd64
-        #key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
-      #mirantis_openstack_updates:
-        #source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-updates main restricted"
-        #architectures: amd64
-        #key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
diff --git a/tests/pillar/repo_mos9.sls b/tests/pillar/repo_mos9.sls
deleted file mode 100644
index 8316770..0000000
--- a/tests/pillar/repo_mos9.sls
+++ /dev/null
@@ -1,19 +0,0 @@
-linux:
-  system:
-    repo:
-      mirantis_openstack_mos9:
-        source: "deb [arch=amd64] http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0 main restricted"
-        architectures: amd64
-        key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
-      #mirantis_openstack_hotfix:
-        #source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-hotfix main restricted"
-        #architectures: amd64
-        #key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
-      #mirantis_openstack_security:
-        #source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-security main restricted"
-        #architectures: amd64
-        #key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
-      #mirantis_openstack_updates:
-        #source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-updates main restricted"
-        #architectures: amd64
-        #key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
diff --git a/tests/pillar/repo_opencontrail.sls b/tests/pillar/repo_opencontrail.sls
deleted file mode 100644
index 79cf4d0..0000000
--- a/tests/pillar/repo_opencontrail.sls
+++ /dev/null
@@ -1,20 +0,0 @@
-linux:
-  system:
-    enabled: true
-    repo:
-      mcp_opencontrail_repo:
-        source: "deb [arch=amd64] http://apt-mk.mirantis.com/{{ grains.get('oscodename') }}/ stable oc311 extra"
-        architectures: amd64
-        key_url: "http://apt-mk.mirantis.com/public.gpg"
-        pin:
-        - pin: 'release a=stable'
-          priority: 1100
-          package: '*'
-      opencontrail_team:
-        source: "deb http://ppa.launchpad.net/opencontrail/ppa/ubuntu {{ grains.get('oscodename') }} main"
-      opencontrail_extra:
-        source: "deb http://ppa.launchpad.net/mirantis-opencontrail/extra/ubuntu trusty main"
-      openjdk-r_repo:
-        source: "deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu {{ grains.get('oscodename') }} main"
-      opencontrail_311:
-        source: "deb http://ppa.launchpad.net/mirantis-opencontrail/opencontrail-3.1.1/ubuntu {{ grains.get('oscodename') }} main "
diff --git a/tests/pillar/repo_opencontrail_oc311.sls b/tests/pillar/repo_opencontrail_oc311.sls
new file mode 100644
index 0000000..a33a3b4
--- /dev/null
+++ b/tests/pillar/repo_opencontrail_oc311.sls
@@ -0,0 +1,19 @@
+linux:
+  system:
+    enabled: true
+    repo:
+      mcp_opencontrail_repo:
+        source: "deb [arch=amd64] http://apt-mk.mirantis.com/{{ grains.get('oscodename') }}/ nightly oc311 extra"
+        architectures: amd64
+        key_url: "http://apt-mk.mirantis.com/public.gpg"
+        pin:
+        - 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/repo_opencontrail_oc323.sls b/tests/pillar/repo_opencontrail_oc323.sls
new file mode 100644
index 0000000..a586671
--- /dev/null
+++ b/tests/pillar/repo_opencontrail_oc323.sls
@@ -0,0 +1,19 @@
+linux:
+  system:
+    enabled: true
+    repo:
+      mcp_opencontrail_repo:
+        source: "deb [arch=amd64] http://apt-mk.mirantis.com/{{ grains.get('oscodename') }}/ nightly oc323 extra"
+        architectures: amd64
+        key_url: "http://apt-mk.mirantis.com/public.gpg"
+        pin:
+        - 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/repo_opencontrail_oc40.sls b/tests/pillar/repo_opencontrail_oc40.sls
new file mode 100644
index 0000000..d63bb1f
--- /dev/null
+++ b/tests/pillar/repo_opencontrail_oc40.sls
@@ -0,0 +1,19 @@
+linux:
+  system:
+    enabled: true
+    repo:
+      mcp_opencontrail_repo:
+        source: "deb [arch=amd64] http://apt-mk.mirantis.com/{{ grains.get('oscodename') }}/ nightly oc40 extra"
+        architectures: amd64
+        key_url: "http://apt-mk.mirantis.com/public.gpg"
+        pin:
+        - 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/repo_openstack.sls b/tests/pillar/repo_openstack.sls
index c3d858d..deae684 100644
--- a/tests/pillar/repo_openstack.sls
+++ b/tests/pillar/repo_openstack.sls
@@ -1,44 +1,54 @@
-linux:
-  system:
-    enabled: true
-    repo:
-      mirantis_openstack:
-        source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }} mitaka main"
-        architectures: amd64
-        key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }}/archive-mcp1.0.key"
-        pin:
-        - pin: 'release a=mitaka'
-          priority: 1050
-          package: '*'
-      mirantis_openstack_hotfix:
-        source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }} mitaka-hotfix main"
-        architectures: amd64
-        key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }}/archive-mcp1.0.key"
-        pin:
-        - pin: 'release a=mitaka-hotfix'
-          priority: 1050
-          package: '*'
-      mirantis_openstack_security:
-        source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }} mitaka-security main"
-        architectures: amd64
-        key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }}/archive-mcp1.0.key"
-        pin:
-        - pin: 'release a=mitaka-security'
-          priority: 1050
-          package: '*'
-      mirantis_openstack_updates:
-        source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }} mitaka-updates main"
-        architectures: amd64
-        key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }}/archive-mcp1.0.key"
-        pin:
-        - pin: 'release a=mitaka-uptades'
-          priority: 1050
-          package: '*'
-      mirantis_openstack_holdback:
-        source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }} mitaka-holdback main"
-        architectures: amd64
-        key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/{{ grains.get('oscodename') }}/archive-mcp1.0.key"
-        pin:
-        - pin: 'release a=mitaka-holdback'
-          priority: 1050
-          package: '*'
+parameters:
+  _param:
+    apt_mk_version: stable
+  linux:
+    system:
+      repo:
+        mirantis_openstack:
+          source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka main"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+          pin:
+          - pin: 'release a=mitaka'
+            priority: 1100
+            package: '*'
+        mirantis_openstack_hotfix:
+          source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-hotfix main"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+          pin:
+          - pin: 'release a=mitaka-hotfix'
+            priority: 1100
+            package: '*'
+        mirantis_openstack_security:
+          source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-security main"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+          pin:
+          - pin: 'release a=mitaka-security'
+            priority: 1100
+            package: '*'
+        mirantis_openstack_updates:
+          source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-updates main"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+          pin:
+          - pin: 'release a=mitaka-uptades'
+            priority: 1100
+            package: '*'
+        mirantis_openstack_holdback:
+          source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-holdback main"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+          pin:
+          - pin: 'release a=mitaka-holdback'
+            priority: 1100
+            package: '*'
+        mk_openstack:
+          source: "deb [arch=amd64] http://apt-mk.mirantis.com/{{ grains.get('oscodename') }}/ ${_param:apt_mk_version} mitaka"
+          architectures: amd64
+          key_url: "http://apt-mk.mirantis.com/public.gpg"
+          pin:
+          - pin: 'release a=${_param:apt_mk_version}'
+            priority: 1100
+            package: '*'
diff --git a/tests/pillar/single.sls b/tests/pillar/single.sls
index e04824e..97fed12 100644
--- a/tests/pillar/single.sls
+++ b/tests/pillar/single.sls
@@ -1,9 +1,6 @@
 opencontrail:
   common:
     version: 3.0
-    source:
-      engine: pkg
-      address: http://mirror.robotice.cz/contrail-havana/
     identity:
       engine: keystone
       host: 127.0.0.1
diff --git a/tests/pillar/single4_0.sls b/tests/pillar/single4_0.sls
new file mode 100644
index 0000000..5edb3dd
--- /dev/null
+++ b/tests/pillar/single4_0.sls
@@ -0,0 +1,144 @@
+opencontrail:
+  common:
+    version: 4.0
+    identity:
+      engine: keystone
+      host: 127.0.0.1
+      port: 35357
+      token: token
+      password: password
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+  config:
+    version: 4.0
+    api:
+      host: 127.0.0.1
+    enabled: true
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+    discovery:
+      host: 127.0.0.1
+    analytics:
+      members:
+      - host: 127.0.0.1
+    bind:
+      address: 127.0.0.1
+    message_queue:
+      engine: rabbitmq
+      host: 127.0.0.1
+      port: 5672
+    database:
+      members:
+      - host: 127.0.0.1
+        port: 9160
+    cache:
+      members:
+      - host: 127.0.0.1
+        port: 11211
+    identity:
+      engine: keystone
+      version: '2.0'
+      region: RegionOne
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
+    members:
+    - host: 127.0.0.1
+      id: 1
+  control:
+    name: ntw-01
+    version: 4.0
+    enabled: true
+    bind:
+      address: 127.0.0.1
+    analytics:
+      members:
+      - host: 127.0.0.1
+    message_queue:
+      members:
+      - host: 127.0.0.1
+    database:
+      members:
+      - host: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    members:
+    - host: 127.0.0.1
+      id: 1
+  collector:
+    version: 4.0
+    enabled: true
+    bind:
+      address: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    data_ttl: 2
+    database:
+      members:
+      - host: 127.0.0.1
+        port: 9160
+    analytics:
+      members:
+      - host: 127.0.0.1
+    message_queue:
+      host: 127.0.0.1
+      members:
+      - host: 127.0.0.1
+    config:
+      members:
+      - host: 127.0.0.1
+  database:
+    version: 4.0
+    cassandra:
+      version: 2
+    enabled: true
+    minimum_disk: 10
+    name: 'Contrail'
+    original_token: 0
+    data_dirs:
+    - /var/lib/cassandra
+    id: 1
+    analytics:
+      members:
+      - host: 127.0.0.1
+    bind:
+      host: 127.0.0.1
+      port: 9042
+      rpc_port: 9160
+    members:
+    - host: 127.0.0.1
+      id: 1
+  web:
+    version: 4.0
+    enabled: True
+    network:
+      host: 127.0.0.1
+    bind:
+      address: 127.0.0.1
+    analytics:
+      host: 127.0.0.1
+    master:
+      host: 127.0.0.1
+    cache:
+      engine: redis
+      host: 127.0.0.1
+      port: 6379
+    members:
+    - host: 127.0.0.1
+      id: 1
+    identity:
+      engine: keystone
+      version: '2.0'
+      host: 127.0.0.1
+      port: 35357
+      user: admin
+      password: password
+      token: token
+      tenant: admin
diff --git a/tests/pillar/tor.sls b/tests/pillar/tor.sls
index 39009ce..04ecba0 100644
--- a/tests/pillar/tor.sls
+++ b/tests/pillar/tor.sls
@@ -33,11 +33,3 @@
       mask: /24
       dns: 127.0.0.1
       mtu: 9000
-linux:
-  network:
-    enabled: true
-    hostname: opencontrail
-    interface:
-      vhost0:
-        enabled: True
-        type: eth
diff --git a/tests/pillar/tor4_0.sls b/tests/pillar/tor4_0.sls
new file mode 100644
index 0000000..16b59fc
--- /dev/null
+++ b/tests/pillar/tor4_0.sls
@@ -0,0 +1,43 @@
+opencontrail:
+  common:
+    version: 4.0
+    identity:
+      engine: keystone
+      host: 127.0.0.1
+      port: 35357
+      token: token
+      password: password
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+  tor:
+    enabled: true
+    version: 4.0
+    agents: 1
+    control:
+      address: 127.0.0.1
+    interface:
+      address: 127.0.0.1
+    device:
+      host: 127.0.0.1
+  compute:
+    enabled: true
+    version: 4.0
+    collector:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    control:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    interface:
+      address: 127.0.0.1
+      dev: eth0
+      gateway: 127.0.0.1
+      mask: /24
+      dns: 127.0.0.1
+      mtu: 9000
diff --git a/tests/pillar/vrouter-dpdk.sls b/tests/pillar/vrouter-dpdk.sls
index 8004bac..283abab 100644
--- a/tests/pillar/vrouter-dpdk.sls
+++ b/tests/pillar/vrouter-dpdk.sls
@@ -31,11 +31,3 @@
       mask: /24
       dns: 127.0.0.1
       mtu: 9000
-linux:
-  network:
-    enabled: true
-    hostname: opencontrail
-    interface:
-      vhost0:
-        enabled: True
-        type: eth
diff --git a/tests/pillar/vrouter.sls b/tests/pillar/vrouter.sls
index 8ddbdc6..45418a0 100644
--- a/tests/pillar/vrouter.sls
+++ b/tests/pillar/vrouter.sls
@@ -25,11 +25,3 @@
       mask: /24
       dns: 127.0.0.1
       mtu: 9000
-linux:
-  network:
-    enabled: true
-    hostname: opencontrail
-    interface:
-      vhost0:
-        enabled: True
-        type: eth
diff --git a/tests/pillar/vrouter4_0.sls b/tests/pillar/vrouter4_0.sls
new file mode 100644
index 0000000..c875642
--- /dev/null
+++ b/tests/pillar/vrouter4_0.sls
@@ -0,0 +1,35 @@
+opencontrail:
+  common:
+    version: 4.0
+    identity:
+      engine: keystone
+      host: 127.0.0.1
+      port: 35357
+      token: token
+      password: password
+    network:
+      engine: neutron
+      host: 127.0.0.1
+      port: 9696
+  compute:
+    version: 4.0
+    enabled: True
+    collector:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    control:
+      members:
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+      - host: 127.0.0.1
+    bind:
+      address: 127.0.0.1
+    interface:
+      address: 127.0.0.1
+      dev: eth0
+      gateway: 127.0.0.1
+      mask: /24
+      dns: 127.0.0.1
+      mtu: 9000