| {% 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 |
| |