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


# Install ceph mons
- description: Update grains
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:common' state.sls salt.minion.grains
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 10}
  skip_fail: false

- description: Generate keyrings
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:mon:keyring:mon or I@ceph:common:keyring:admin' state.sls ceph.mon
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 10}
  skip_fail: false

- description: Sync grains on ceph mon nodes
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:mon' saltutil.sync_grains
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 10}
  skip_fail: false

- description: Update mine on ceph mons
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:mon:keyring:mon or I@ceph:common:keyring:admin' mine.update
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 10}
  skip_fail: false

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

- description: Install ceph mgr if defined(needed only for Luminious)
  cmd: |
    if salt -C 'I@ceph:mgr' match.pillar 'ceph:mgr' ; then
      salt -C 'I@ceph:mgr' state.sls ceph.mgr
    fi
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

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

- description: Sync grains
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:osd' saltutil.sync_grains
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: false

- description: Install ceph osd nodes
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:osd' state.sls ceph.osd.custom
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: true

- description: Sync grains
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:osd' saltutil.sync_grains
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 5}
  skip_fail: false

- description: Update mine on ceph osd
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:osd' mine.update
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 10}
  skip_fail: false

- description: Setup pools, keyrings and maybe crush
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False
    -C 'I@ceph:setup' state.sls ceph.setup
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 10}
  skip_fail: false

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

- description: Install radosgw if exists
  cmd: |
    if salt -C 'I@ceph:radosgw' match.pillar 'ceph:radosgw' ; then
      salt -C 'I@ceph:radosgw' saltutil.sync_grains;
      salt -C 'I@ceph:radosgw' state.sls ceph.radosgw;
      salt -C 'I@keystone:client' state.sls keystone.client;
    fi
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

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

{% for ssh in config.underlay.ssh %}
- description: Restart salt-minion as workaround of PROD-16970
  cmd: |
    service salt-minion restart;  # For case if salt-minion was already installed
  node_name: {{ ssh['node_name'] }}
  retry: {count: 1, delay: 1}
  skip_fail: false
{% endfor %}

- description: Connect ceph to glance
  cmd: |
    salt -C 'I@ceph:common and I@glance:server' state.sls ceph.common,ceph.setup.keyring,glance;
    salt -C 'I@ceph:common and I@glance:server' service.restart glance-api;
    salt -C 'I@ceph:common and I@glance:server' service.restart glance-glare;
    salt -C 'I@ceph:common and I@glance:server' service.restart glance-registry;
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

- description: Connect ceph to cinder and nova
  cmd: |
    salt -C 'I@ceph:common and I@cinder:controller' state.sls ceph.common,ceph.setup.keyring,cinder;
    salt -C 'I@ceph:common and I@nova:compute' state.sls ceph.common,ceph.setup.keyring;
    salt -C 'I@ceph:common and I@nova:compute' saltutil.sync_grains;
    salt -C 'I@ceph:common and I@nova:compute' state.sls nova;
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

- description: Restart cinder volume
  cmd: |
    salt -C 'I@cinder:controller' service.restart cinder-volume;
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

- description: Restart nova-compute
  cmd: |
    salt -C 'I@nova:compute' service.restart nova-compute;
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 5}
  skip_fail: false

- description: conver cirros image
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
    'qemu-img convert cirros-0.3.4-i386-disk.img cirros.raw'
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 2, delay: 30}
  skip_fail: false

- description: Register image in glance
  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
    '. /root/keystonercv3; glance --timeout 120 image-create --name "cirros" --disk-format raw --container-format bare --visibility public --file cirros.raw'
  node_name: {{ HOSTNAME_CFG01 }}
  retry: {count: 1, delay: 30}
  skip_fail: false