Add SALT API client
diff --git a/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml b/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml
index 1d228ff..a322b67 100644
--- a/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml
+++ b/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml
@@ -1,104 +1,147 @@
{% from 'virtual-mcp10-ovs.jinja' import HOSTNAME_CFG01 with context %}
-# Install support services
+################### Install OpenStack infra ##########################
+# salt.enforceState(saltMaster, 'I@glusterfs:server', 'glusterfs.server.service', true)
+- description: Install and run GlusterFS
+ do: enforceState
+ target: I@glusterfs:server
+ state: glusterfs.server.service
+
+# // Install keepaliveds
+# //runSaltProcessStep(master, 'I@keepalived:cluster', 'state.sls', ['keepalived'], 1)
+# salt.enforceState(saltMaster, 'I@keepalived:cluster and *01*', 'keepalived', true)
+# salt.enforceState(saltMaster, 'I@keepalived:cluster', 'keepalived', true)
- description: Install keepalived
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' state.sls keepalived -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 10}
- skip_fail: true
+ do: enforceState
+ target: I@keepalived:cluster and *01*
+ state: keepalived
-- description: Check the VIP
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' cmd.run 'ip a | grep 172.16.10.2' | grep -B1 172.16.10.2
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Re run installation of keepalived
+ do: enforceState
+ target: I@keepalived:cluster
+ state: keepalived
+
+# // Check the keepalived VIPs
+# salt.runSaltProcessStep(saltMaster, 'I@keepalived:cluster', 'cmd.run', ['ip a | grep 172.16.10.2'])
+# salt.enforceState(saltMaster, 'I@glusterfs:server and *01*', 'glusterfs.server.setup', true)
+# salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server', 'cmd.run', ['gluster peer status'], null, true)
+# salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server', 'cmd.run', ['gluster volume status'], null, true)
+
+- description: Show VIPs
+ do: runState
+ target: I@keepalived:cluster
+ state: cmd.run
+ args: ['ip a | grep 172.16.10.2']
+
+- description: Re run Gluster sertver setup
+ do: enforceState
+ target: I@glusterfs:server and *01*
+ state: glusterfs.server.setup
+
+- description: Show Gluster peer status
+ do: runState
+ target: I@glusterfs:server
+ state: cmd.run
+ args: ['gluster peer status']
+
+- description: Show Gluster volumes status
+ do: runState
+ target: I@glusterfs:server
+ state: cmd.run
+ args: ['gluster volume status']
-- description: Install glusterfs
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.service
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+ # // Install rabbitmq
+ # withEnv(['ASK_ON_ERROR=false']){
+ # retry(2) {
+ # salt.enforceState(saltMaster, 'I@rabbitmq:server', 'rabbitmq', true)
+ # }
+ # }
+ # // Check the rabbitmq status
+ # salt.runSaltProcessStep(saltMaster, 'I@rabbitmq:server', 'cmd.run', ['rabbitmqctl cluster_status'])
-- description: Setup glusterfs on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.setup -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Install rabbitmq
+ do: enforceState
+ target: I@rabbitmq:server
+ state: rabbitmq
+ retry: {count: 2, delay: 5}
-- description: Check the gluster status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' cmd.run 'gluster peer status; gluster volume status' -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Show rabbitmq status
+ do: runState
+ target: I@glusterfs:server
+ state: cmd.run
+ args: ['rabbitmqctl cluster_status']
+
+ # // Install galera
+ # withEnv(['ASK_ON_ERROR=false']){
+ # retry(2) {
+ # salt.enforceState(saltMaster, 'I@galera:master', 'galera', true)
+ # }
+ # }
+ # salt.enforceState(saltMaster, 'I@galera:slave', 'galera', true)
+
+ # // Check galera status
+ # salt.runSaltProcessStep(saltMaster, 'I@galera:master', 'mysql.status')
+ # salt.runSaltProcessStep(saltMaster, 'I@galera:slave', 'mysql.status')
+
+ # // // Setup mysql client
+ # // salt.enforceState(saltMaster, 'I@mysql:client', 'mysql.client', true)
-- description: Install RabbitMQ
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' state.sls rabbitmq
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Install Galera (master)
+ do: enforceState
+ target: I@galera:master
+ state: galera
+ retry: {count: 2, delay: 5}
-- description: Check the rabbitmq status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' cmd.run 'rabbitmqctl cluster_status'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Install Galera (slaves)
+ do: enforceState
+ target: I@galera:slave
+ state: galera
-- description: Install Galera on first server
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:master' state.sls galera
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Show master galera status
+ do: runState
+ target: I@galera:master
+ state: mysql.status
-- description: Install Galera on other servers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:slave' state.sls galera
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Show master galera status
+ do: runState
+ target: I@galera:master
+ state: mysql.status
-- description: Check mysql status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:*' mysql.status | grep -A1 -e "wsrep_incoming_addresses\|wsrep_cluster_size"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: true
+# - description: Install mysql client
+# do: enforceState
+# target: I@mysql:client
+# state: mysql.client
-- description: Install haproxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' state.sls haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+# // Install haproxy
+# salt.enforceState(saltMaster, 'I@haproxy:proxy', 'haproxy', true)
+# salt.runSaltProcessStep(saltMaster, 'I@haproxy:proxy', 'service.status', ['haproxy'])
+# salt.runSaltProcessStep(saltMaster, 'I@haproxy:proxy', 'service.restart', ['rsyslog'])
-- description: Check haproxy status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.status haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-- description: Restart rsyslog
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.restart rsyslog
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Install HAProxy
+ do: enforceState
+ target: I@haproxy:proxy
+ state: haproxy
-- description: Install memcached on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@memcached:server' state.sls memcached
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
+- description: Show HAProxy service status
+ do: runState
+ target: I@haproxy:proxy
+ state: service.status
+ args: ['haproxy']
+
+- description: Restart HAProxy service
+ do: runState
+ target: I@haproxy:proxy
+ state: service.restart
+ args: ['haproxy']
+
+# // Install memcached
+# salt.enforceState(saltMaster, 'I@memcached:server', 'memcached', true)
+- description: Install Memcached
+ do: enforceState
+ target: I@memcached:server
+ state: memcached