blob: 887d5eb97ebb34bd01b5500c19b93a21914981fd [file] [log] [blame]
{% from 'virtual-mcp-pike-ovs-ceph/underlay.yaml' import HOSTNAME_CFG01 with context %}
{% from 'virtual-mcp-pike-ovs-ceph/underlay.yaml' import HOSTNAME_GTW01 with context %}
{% from 'virtual-mcp-pike-ovs-ceph/underlay.yaml' import LAB_CONFIG_NAME with context %}
{% from 'virtual-mcp-pike-ovs-ceph/underlay.yaml' import DOMAIN_NAME with context %}
{% import 'shared-salt.yaml' as SHARED 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 --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:mgr' match.pillar 'ceph:mgr' ; then
salt --hard-crash --state-output=mixed --state-verbose=False -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 --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:radosgw' match.pillar 'ceph:radosgw' ; then
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:radosgw' saltutil.sync_grains;
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:radosgw' state.sls ceph.radosgw;
salt --hard-crash --state-output=mixed --state-verbose=False -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 %}
{%- set salt_roles = [] %}
{%- for role in ssh['roles'] %}
{%- if role in config.salt_deploy.salt_roles %}
{%- set _ = salt_roles.append(role) %}
{%- endif %}
{%- endfor %}
{%- if salt_roles %}
- 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
{%- endif %}
{%- endfor %}
- description: Connect ceph to glance
cmd: |
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@glance:server' state.sls ceph.common,ceph.setup.keyring,glance;
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@glance:server' service.restart glance-api;
salt --hard-crash --state-output=mixed --state-verbose=False -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 --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@cinder:controller' state.sls ceph.common,ceph.setup.keyring,cinder;
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@nova:compute' state.sls ceph.common,ceph.setup.keyring;
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@nova:compute' saltutil.sync_grains;
salt --hard-crash --state-output=mixed --state-verbose=False -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 --hard-crash --state-output=mixed --state-verbose=False -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 --hard-crash --state-output=mixed --state-verbose=False -C 'I@nova:compute' service.restart nova-compute;
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 2, delay: 5}
skip_fail: false