{% from 'virtual-offline-pike-ovs-dpdk/underlay.yaml' import HOSTNAME_CFG01 with context %}
{% from 'virtual-offline-pike-ovs-dpdk/underlay.yaml' import HOSTNAME_CTL01 with context %}
{% from 'virtual-offline-pike-ovs-dpdk/underlay.yaml' import HOSTNAME_CTL02 with context %}
{% from 'virtual-offline-pike-ovs-dpdk/underlay.yaml' import HOSTNAME_CTL03 with context %}
{% from 'virtual-offline-pike-ovs-dpdk/underlay.yaml' import HOSTNAME_GTW01 with context %}
{% from 'shared-salt.yaml' import IPV4_NET_EXTERNAL_PREFIX with context %}
{% from 'shared-salt.yaml' import IPV4_NET_TENANT_PREFIX with context %}
{% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'proposed') %}
# Install OpenStack control services
{% set DOMAIN_NAME = os_env('DOMAIN_NAME', 'virtual-offline-pike-ovs-dpdk') %}
{% import 'shared-backup-restore.yaml' as BACKUP with context %}
{% import 'shared-salt.yaml' as SHARED with context %}
{% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %}

{{ SHARED_OPENSTACK.MACRO_INSTALL_KEYSTONE() }}

{{ SHARED_OPENSTACK.MACRO_INSTALL_GLANCE() }}

{{ SHARED_OPENSTACK.MACRO_INSTALL_NOVA() }}

{{ SHARED_OPENSTACK.MACRO_INSTALL_CINDER() }}

{{ SHARED_OPENSTACK.MACRO_INSTALL_NEUTRON() }}

# isntall designate
- description: Install powerdns
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@powerdns:server' state.sls powerdns.server
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: false

- description: Install designate
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@designate:server' state.sls designate -b 1
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 5, delay: 10}
  skip_fail: false

{{ SHARED_OPENSTACK.MACRO_INSTALL_HEAT() }}

# Install Telemetry services (mdb nodes)
- description: Install redis service
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@redis:cluster:role:master' state.sls redis &&
       salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@redis:server' state.sls redis
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: false

- description: Install gnocchi server
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@gnocchi:server and *01*' state.sls gnocchi.server &&
       salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@gnocchi:server' state.sls gnocchi.server
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: false

- description: Setup gnocchi client
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@gnocchi:client and *01*' state.sls gnocchi.client &&
       salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@gnocchi:client' state.sls gnocchi.client
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: false

- description: Install panko server
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@panko:server and *01*' state.sls panko &&
       salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@panko:server' state.sls panko
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: false

- description: Install ceilometer server on first node
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceilometer:server and *01*' state.sls ceilometer
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

- description: Install ceilometer server on other nodes
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceilometer:server' state.sls ceilometer
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

- description: Install aodh server
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@aodh:server and *01*' state.sls aodh &&
       salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@aodh:server' state.sls aodh
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, 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: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: true

- description: Deploy nginx proxy
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@nginx:server' state.sls nginx
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: true


# Install compute node

- description: Apply formulas for compute node
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: true

- 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: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, 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: {{ HOSTNAME_CFG01 }}
  retry: {count: 10, delay: 30}
  skip_fail: false

- description: sync time
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run
    'service ntp stop; ntpd -gq;  service ntp start'
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 30}
  skip_fail: false

{{ BACKUP.MACRO_WR_NGINX_MASTER() }}
{{ BACKUP.MACRO_BACKUP_BACKUPNINJA() }}
{{ BACKUP.MACRO_BACKUP_XTRABACKUP() }}
