diff --git a/cookiecutter.json b/cookiecutter.json
index eb95831..6fb7e96 100644
--- a/cookiecutter.json
+++ b/cookiecutter.json
@@ -3,10 +3,10 @@
     "role_name": "server",
     "project_name": "{{ cookiecutter.service_name }}-formula",
     "repo_name": "{{ cookiecutter.service_name|replace('_', '-') }}-formula",
-    "license_holder": "tcp cloud a.s.",
-    "author_contact": "tcpcloud <cloud@tcpcloud.eu>",
+    "license_holder": "Mirantis Inc.",
+    "author_contact": "devops <devops@mirantis.com>",
 
-    "kitchen_driver": "vagrant",
+    "kitchen_driver": "docker",
     "kitchen_verifier": "inspec",
     "kitchen_formula": "{{ cookiecutter.service_name }}",
     "kitchen_suites": ""
diff --git a/kitchen-init.sh b/kitchen-init.sh
index 2c2a84e..35b2996 100755
--- a/kitchen-init.sh
+++ b/kitchen-init.sh
@@ -10,7 +10,7 @@
 # CONFIG
 ###################################
 
-export driver=${driver:-vagrant}      # vagrant, dokken, openstack, ...
+export driver=${driver:-docker}       # vagrant, dokken, openstack, ...
 export verifier=${verifier:-inspec}   # serverspec, pester
 
 export formula=${formula:-$(awk -F: '/^name/{gsub(/[\ \"]/,"");print $2}' metadata.yml)}
@@ -19,14 +19,14 @@
 export SOURCE_REPO_URI="https://raw.githubusercontent.com/tcpcloud/cookiecutter-salt-formula/master/%7B%7Bcookiecutter.project_name%7D%7D"
 
 which envtpl &> /dev/null || {
-  echo "ERROR: missing prerequisite, install 'envtpl' first : pip install envtpl"
+  echo "ERROR: missing prerequisite, install 'envtpl' first : sudo pip install envtpl"
   exit 1
 }
 
 # INIT
 ###################################
 test ! -e .kitchen.yml || {
-  kitchen init -D kitchen-vagrant -P kitchen-salt --no-create-gemfile
+  kitchen init -D kitchen-docker -P kitchen-salt --no-create-gemfile
   echo .kitchen >> .gitignore
   rm -rf test
   rm -f .kitchen.yml
@@ -37,28 +37,37 @@
 # CONFIGURE & SCAFFOLD TEST DIR
 ###################################
 test -d tests/integration || {
-  for suite in $(echo $suites|xargs); do
-    mkdir -p tests/integration/$suite/$verifier
-    touch    tests/integration/$suite/$verifier/default_spec.rb
-  done
-  mkdir -p tests/integration/helpers/$verifier/
-  touch    tests/integration/helpers/$verifier/spec_helper.rb
+    mkdir -p tests/integration
 }
+#  for suite in $(echo $suites|xargs); do
+#    mkdir -p tests/integration/$suite/$verifier
+#    touch    tests/integration/$suite/$verifier/default_spec.rb
+#  done
+#  mkdir -p tests/integration/helpers/$verifier/
+#  touch    tests/integration/helpers/$verifier/spec_helper.rb
+#}
 
 
 # .KITCHEN.YML
 ###################################
 
 test -e .kitchen.yml || \
-envtpl < <(curl -skL  "${SOURCE_REPO_URI}/.kitchen.yml" -- | sed 's/cookiecutter\.kitchen_//g') > .kitchen.yml
+  envtpl < <(curl -skL  "${SOURCE_REPO_URI}/.kitchen.${driver}.yml" -- | sed 's/cookiecutter\.kitchen_//g' ) > .kitchen.yml
 
 [[ "$driver" != "docker" ]] && {
   test -e .kitchen.docker.yml || \
-    envtpl < <(curl -skL  "${SOURCE_REPO_URI}/.kitchen.docker.yml" -- | sed 's/cookiecutter\.kitchen_//g' ) > .kitchen.docker.yml
+    envtpl < <(curl -skL  "${SOURCE_REPO_URI}/.kitchen.docker.yml" -- | sed 's/cookiecutter\.kitchen_//g') > .kitchen.docker.yml
 }
 
-test -e .kitchen.openstack.yml || \
-envtpl < <(curl -skL  "${SOURCE_REPO_URI}/.kitchen.openstack.yml" -- | sed 's/cookiecutter\.kitchen_//g') > .kitchen.openstack.yml
+[[ "$driver" != "vagrant" ]] && {
+  test -e .kitchen.vagrant.yml || \
+    envtpl < <(curl -skL  "${SOURCE_REPO_URI}/.kitchen.vagrant.yml" -- | sed 's/cookiecutter\.kitchen_//g') > .kitchen.vagrant.yml
+}
+
+[[ "$driver" != "openstack" ]] && {
+  test -e .kitchen.openstack.yml || \
+    envtpl < <(curl -skL  "${SOURCE_REPO_URI}/.kitchen.openstack.yml" -- | sed 's/cookiecutter\.kitchen_//g') > .kitchen.openstack.yml
+}
 
 
 
diff --git "a/\173\173cookiecutter.project_name\175\175/.kitchen.docker.yml" "b/\173\173cookiecutter.project_name\175\175/.kitchen.docker.yml"
index fce735f..37cb6a3 100644
--- "a/\173\173cookiecutter.project_name\175\175/.kitchen.docker.yml"
+++ "b/\173\173cookiecutter.project_name\175\175/.kitchen.docker.yml"
@@ -1,11 +1,12 @@
 ---
 driver:
   name: docker
-  #socket: tcp://127.0.0.1:2376
   hostname: {{ cookiecutter.kitchen_formula }}.ci.local
+  #socket: tcp://127.0.0.1:2376
   use_sudo: false
 
 
+
 provisioner:
   name: salt_solo
   salt_install: bootstrap
@@ -23,7 +24,38 @@
         "*":
           - {{ cookiecutter.kitchen_formula }}
   grains:
-    noservices: True
+    noservices: {{ 'True' if cookiecutter.kitchen_driver =='docker' else 'False' }}
 
+{%- if cookiecutter.kitchen_driver =='docker' %}
+
+
+platforms:
+  - name: ubuntu-14.04
+  - name: ubuntu-16.04
+  - name: centos-7.1
+
+
+verifier:
+  name: {{ cookiecutter.kitchen_verifier }}
+  sudo: true
+
+
+suites:
+  {%- if cookiecutter.kitchen_suites == "" %}
+  - name: default
+  #  provisioner:
+  #    pillars-from-files:
+  #      {{ cookiecutter.kitchen_formula }}.sls: tests/pillar/default.sls
+  {%- else %}
+  {%- for suite in cookiecutter.kitchen_suites.split() %}
+
+  - name: {{ suite }}
+    provisioner:
+      pillars-from-files:
+        {{ cookiecutter.kitchen_formula }}.sls: tests/pillar/{{suite}}.sls
+  {%- endfor %}
+  {%- endif %}
+
+{%- endif %}
 
 # vim: ft=yaml sw=2 ts=2 sts=2 tw=125
diff --git "a/\173\173cookiecutter.project_name\175\175/.kitchen.openstack.yml" "b/\173\173cookiecutter.project_name\175\175/.kitchen.openstack.yml"
index 6dbf7b2..d4c55b6 100644
--- "a/\173\173cookiecutter.project_name\175\175/.kitchen.openstack.yml"
+++ "b/\173\173cookiecutter.project_name\175\175/.kitchen.openstack.yml"
@@ -38,4 +38,29 @@
 transport:
   username: <%= ENV['OS_UBUNTU_IMAGE_USER'] || 'root' %>
 
+{%- if cookiecutter.kitchen_driver =='openstack' %}
+
+verifier:
+  name: {{ cookiecutter.kitchen_verifier }}
+  sudo: true
+
+
+suites:
+  {%- if cookiecutter.kitchen_suites == "" %}
+  - name: default
+  #  provisioner:
+  #    pillars-from-files:
+  #      {{ cookiecutter.kitchen_formula }}.sls: tests/pillar/default.sls
+  {%- else %}
+  {%- for suite in cookiecutter.kitchen_suites.split() %}
+
+  - name: {{ suite }}
+    provisioner:
+      pillars-from-files:
+        {{ cookiecutter.kitchen_formula }}.sls: tests/pillar/{{suite}}.sls
+  {%- endfor %}
+  {%- endif %}
+
+{%- endif %}
+
 # vim: ft=yaml sw=2 ts=2 sts=2 tw=125
diff --git "a/\173\173cookiecutter.project_name\175\175/.kitchen.yml" "b/\173\173cookiecutter.project_name\175\175/.kitchen.vagrant.yml"
similarity index 85%
rename from "\173\173cookiecutter.project_name\175\175/.kitchen.yml"
rename to "\173\173cookiecutter.project_name\175\175/.kitchen.vagrant.yml"
index 96d41d6..6c75fd2 100644
--- "a/\173\173cookiecutter.project_name\175\175/.kitchen.yml"
+++ "b/\173\173cookiecutter.project_name\175\175/.kitchen.vagrant.yml"
@@ -1,16 +1,10 @@
 ---
 driver:
   name: {{ cookiecutter.kitchen_driver }}
-{%- if cookiecutter.kitchen_driver == 'docker' %}
-  #socket: tcp://127.0.0.1:2376
-  hostname: {{ cookiecutter.kitchen_formula }}.ci.local
-  use_sudo: false
-{%- elif cookiecutter.kitchen_driver == 'vagrant' %}
   vm_hostname: {{ cookiecutter.kitchen_formula }}.ci.local
   use_sudo: false
   customize:
     memory: 512
-{%- endif %}
 
 
 provisioner:
@@ -32,10 +26,7 @@
   grains:
     noservices: {{ 'True' if cookiecutter.kitchen_driver =='docker' else 'False' }}
 
-
-verifier:
-  name: {{ cookiecutter.kitchen_verifier }}
-  sudo: true
+{%- if cookiecutter.kitchen_driver =='vagrant' %}
 
 
 platforms:
@@ -44,6 +35,11 @@
   - name: centos-7.1
 
 
+verifier:
+  name: {{ cookiecutter.kitchen_verifier }}
+  sudo: true
+
+
 suites:
   {%- if cookiecutter.kitchen_suites == "" %}
   - name: default
@@ -60,4 +56,6 @@
   {%- endfor %}
   {%- endif %}
 
+{%- endif %}
+
 # vim: ft=yaml sw=2 ts=2 sts=2 tw=125
