{% from 'underlay/virtual-mcp11-ovs.yaml' import HOSTNAME_CFG01 with context %}

################### 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
  do: enforceState
  target: I@keepalived:cluster and *01*
  state: keepalived

- 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']


  #     // 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: Install rabbitmq
  do: enforceState
  target: I@rabbitmq:server
  state: rabbitmq
  retry: {count: 2, delay: 5}

- 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 Galera (master)
  do: enforceState
  target: I@galera:master
  state: galera
  retry: {count: 2, delay: 5}

- description: Install Galera (slaves)
  do: enforceState
  target: I@galera:slave
  state: galera

- description: Show master galera status
  do: runState
  target: I@galera:master
  state: mysql.status

- description: Show master galera status
  do: runState
  target: I@galera:master
  state: mysql.status

# - description: Install mysql client
#   do: enforceState
#   target: I@mysql:client
#   state: mysql.client


# // 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: Install HAProxy
  do: enforceState
  target: I@haproxy:proxy
  state: haproxy

- 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
