Fix modules for mk22-qa-lab01

- Load missing modules after upgrade kernel to 4.4 on Ubuntu14.04
- Move workaround for cassandra memory consumption to the proper file
- Actualize the salt steps according to the upstream scripts
- switch to the master branch for the mk-lab-salt-models
diff --git a/tcp_tests/templates/openstack/mk22-qa-lab01-openstack.yaml b/tcp_tests/templates/openstack/mk22-qa-lab01-openstack.yaml
index 5959d37..d2ac096 100644
--- a/tcp_tests/templates/openstack/mk22-qa-lab01-openstack.yaml
+++ b/tcp_tests/templates/openstack/mk22-qa-lab01-openstack.yaml
@@ -1,167 +1,182 @@
 # Install OpenStack control services
-- description: Install keystone on primary controller
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
-    keystone
+
+- description: Install keystone service
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' state.sls keystone.server -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Install keystone on all controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    keystone -b 1
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
+
 - description: Populate keystone services/tenants/admins
-  cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
-    keystone.client
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:client' state.sls keystone.client
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Check keystone service-list
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    '. /root/keystonerc; keystone service-list'
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' cmd.run '. /root/keystonerc; keystone service-list'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Install glance on primary controller
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
-    glance
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
+
+
 - description: Install glance on all controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    glance -b 1
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+     -C 'I@glance:server' state.sls glance -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Configure glusterfs.client on all controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    glusterfs.client
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@glance:server' state.sls glusterfs.client
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Configure(re-install) keystone on all controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    keystone -b 1
+
+- description: Update fernet tokens for keystone server
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' state.sls keystone.server -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Check glance image-list
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    '. /root/keystonerc; glance image-list'
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Install cinder on all controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    cinder -b 1
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
-- description: Check cinder list
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    '. /root/keystonerc; cinder list'
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
-- description: Install nova on ctl01
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
-    nova
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
+
+
 - description: Install nova on all controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    nova
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@nova:controller' state.sls nova -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Check nova service-list
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    '. /root/keystonerc; nova service-list'
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' cmd.run '. /root/keystonerc; nova service-list'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Install neutron on ctl01
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
-    neutron
+
+
+- description: Install cinder
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@cinder:controller' state.sls cinder -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Install neutron on all controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    neutron
+
+- description: Check cinder list
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
+
+- description: Install neutron service
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@neutron:server' state.sls neutron -b 1
+  node_name: cfg01.mk22-qa-lab01.local
+  retry: {count: 3, delay: 5}
+  skip_fail: false
+
 - description: Check neutron agent-list
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    '. /root/keystonerc; neutron agent-list'
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Deploy dashboard on prx*
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'prx*' state.apply
+
+
+- description: Install heat service
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@heat:server' state.sls heat -b 1
+  node_name: cfg01.mk22-qa-lab01.local
+  retry: {count: 3, delay: 5}
+  skip_fail: false
+
+- description: Check heat service
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' cmd.run '. /root/keystonerc; heat resource-type-list'
+  node_name: cfg01.mk22-qa-lab01.local
+  retry: {count: 3, delay: 5}
+  skip_fail: false
+
+
+- description: Deploy horizon dashboard
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@horizon:server' state.sls horizon
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: true
+
 - description: Deploy nginx proxy
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cfg*' state.sls
-    nginx
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@nginx:server' state.sls nginx
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: true
 
+
 # Install contrail on controllers
 
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164 for opencontrail.database
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
+- description: Install contrail database on controllers
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@opencontrail:database' state.sls opencontrail.database -b 1
+  #cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+  #    'ctl*' state.sls opencontrail.database -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
 
-- description: Install contrail database on controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    opencontrail.database -b 1
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
 - description: Check cassandra status on ctl01
-  cmd: salt 'ctl01*' cmd.run 'nodetool status;nodetool compactionstats;nodetool describecluster;'
+  cmd: salt -C 'I@opencontrail:database'
+    cmd.run 'nodetool status;nodetool compactionstats;nodetool describecluster;' -b 1
+  #cmd: salt 'ctl*'
+  #    cmd.run 'nodetool status;nodetool compactionstats;nodetool describecluster;' -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Install opencontrail on controllers
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
-    opencontrail -b 1
+
+- description: Install opencontrail control services
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@opencontrail:control' state.sls opencontrail -b 1
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
-- description: Check contrail status
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    '. /root/keystonerc; contrail-status; neutron net-list; nova net-list'
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
+
+
 - description: Add contrail bgp router on ctl01
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@opencontrail:control:id:1' cmd.run
     '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
     --api_server_port 8082 --host_name ctl01 --host_ip 172.16.10.101 --router_asn
     64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Add contrail bgp router on ctl02
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl02*' cmd.run
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@opencontrail:control:id:1' cmd.run
     '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
     --api_server_port 8082 --host_name ctl02 --host_ip 172.16.10.102 --router_asn
     64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Add contrail bgp router on ctl03
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl03*' cmd.run
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@opencontrail:control:id:1' cmd.run
     '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
     --api_server_port 8082 --host_name ctl03 --host_ip 172.16.10.103 --router_asn
     64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
@@ -169,48 +184,59 @@
   retry: {count: 3, delay: 5}
   skip_fail: false
 
-
-# Install compute node
-
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164 for opencontrail on compute nodes
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
+- description: Check contrail status
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@opencontrail:control' cmd.run 'contrail-status'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
+- description: Test neutron and nova with contrail
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron net-list; nova net-list'
+  node_name: cfg01.mk22-qa-lab01.local
+  retry: {count: 3, delay: 5}
+  skip_fail: false
+
+
+# Install compute node
+
 - description: Apply formulas for compute node
   cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: true
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164 for opencontrail on compute nodes
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
-  node_name: cfg01.mk22-qa-lab01.local
-  retry: {count: 3, delay: 5}
-  skip_fail: false
+
 - description: Re-apply(as in doc) formulas for compute node
   cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: true
+
 - description: Add vrouter for cmp01
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+    -C 'I@opencontrail:control:id:1' cmd.run
     '/usr/share/contrail-utils/provision_vrouter.py --oper add --host_name cmp01 --host_ip
     172.16.10.105 --api_server_ip 172.16.10.254 --api_server_port 8082 --admin_user
     admin --admin_password workshop --admin_tenant_name admin'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Reboot compute nodes
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' system.reboot
+  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' system.reboot;
+    sleep 30
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 3, delay: 5}
   skip_fail: false
+
 - description: Check IP on computes
   cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
     'ip a'
   node_name: cfg01.mk22-qa-lab01.local
   retry: {count: 10, delay: 30}
   skip_fail: false
+
 - description: Check contrail status on computes
   cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
     'contrail-status'