[ci] Fix kitchen tests & salt states

Changes:

 - added 'is defined' check to compute|controller.enable opts

 - added creation of an empty policy.json file for newton+ release
   to allow to manage rules. (policy.json for nova is removed
   in stable/ocata, defaults are taken from code)

 - any nova manage * commands wrapped into 'noservice' condition

 - fixed .kitchen.yaml to manage releases in properly way (before
   change, Liberty release always used)

   wrong ways:

   pillars:
     - top.sls
     - nova <-------- will be created just 'nova' file, not 'nova.sls'

   pillars:
     - top.sls
     - nova.sls: <--- does not overwrite anything (file already exists)
        nova:
          version: ocata

Change-Id: I8c51f65979071148e22fb72a5f04b78e83074043
diff --git a/.kitchen.yml b/.kitchen.yml
index c3e27e9..418d93e 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -32,11 +32,7 @@
         "*":
           - linux_repo_openstack
           - nova
-    nova:
-      controller:
-        version: <%= ENV['OS_VERSION'] || 'mitaka' %>
-      compute:
-        version: <%= ENV['OS_VERSION'] || 'mitaka' %>
+          - release
   pillars-from-files:
     linux_repo_openstack.sls: tests/pillar/repo_mcp_openstack_<%= ENV['OS_VERSION'] || 'mitaka' %>.sls
 
@@ -56,10 +52,20 @@
     provisioner:
       pillars-from-files:
         nova.sls: tests/pillar/compute_cluster.sls
+      pillars:
+        release.sls:
+          nova:
+            compute:
+              version: <%= ENV['OS_VERSION'] || 'mitaka' %>
 
   - name: control_cluster
     provisioner:
       pillars-from-files:
         nova.sls: tests/pillar/control_cluster.sls
+      pillars:
+        release.sls:
+          nova:
+            controller:
+              version: <%= ENV['OS_VERSION'] || 'mitaka' %>
 
 # vim: ft=yaml sw=2 ts=2 sts=2 tw=125