add mk22-qa-lab01 templates
diff --git a/tcp_tests/templates/openstack/mk22-qa-lab01-openstack.yaml b/tcp_tests/templates/openstack/mk22-qa-lab01-openstack.yaml
new file mode 100644
index 0000000..5959d37
--- /dev/null
+++ b/tcp_tests/templates/openstack/mk22-qa-lab01-openstack.yaml
@@ -0,0 +1,219 @@
+# Install OpenStack control services
+- description: Install keystone on primary controller
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
+ keystone
+ 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
+ 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'
+ 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
+ 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
+ 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
+ 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'
+ 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
+ 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'
+ 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
+ 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
+ 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'
+ 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
+ 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
+ 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
+ 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;'
+ 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
+ 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
+ '/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
+ '/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
+ '/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'
+ node_name: cfg01.mk22-qa-lab01.local
+ 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
+ node_name: cfg01.mk22-qa-lab01.local
+ retry: {count: 3, delay: 5}
+ skip_fail: false
+- 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
+ '/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
+ 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'
+ node_name: cfg01.mk22-qa-lab01.local
+ retry: {count: 3, delay: 5}
+ skip_fail: false