cephadm-adopt: remove legacy directory after adoption

When this directory is left after the osd adoption, it leads to the following error:

```
[WRN] CEPHADM_REFRESH_FAILED: failed to probe daemons or devices
    host axdesec2ocs1n002.ecommerce.inditex.grp `cephadm ceph-volume` failed: cephadm exited with an error code: 1, stderr:Inferring config /var/lib/ceph/41555360-e96b-4b16-a37c-873e0c940091/mon.axdesec2ocs1n002/config
ERROR: [Errno 2] No such file or directory: '/var/lib/ceph/41555360-e96b-4b16-a37c-873e0c940091/mon.axdesec2ocs1n002/config'.
```

this is because of an unexpected behavior regarding 'config inferring' when a legacy directory is present in /var/lib/ceph.

Note: this doesn't fix the root cause, this is a workaround.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2075510

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 6e2ebe857d)
pull/7216/head
Guillaume Abrioux 2022-05-11 13:47:46 +02:00
parent 57fb213f29
commit aaf3dff30c
1 changed files with 5 additions and 0 deletions

View File

@ -823,6 +823,11 @@
state: absent state: absent
loop: '{{ (osd_list.stdout | from_json).keys() | list }}' loop: '{{ (osd_list.stdout | from_json).keys() | list }}'
- name: remove any legacy directories in /var/lib/ceph/mon (workaround)
file:
path: "/var/lib/ceph/mon/{{ cluster }}-{{ ansible_facts['hostname'] }}"
state: absent
- name: waiting for clean pgs... - name: waiting for clean pgs...
command: "{{ cephadm_cmd }} shell -k /etc/ceph/{{ cluster }}.client.admin.keyring --fsid {{ fsid }} -- ceph pg stat --format json" command: "{{ cephadm_cmd }} shell -k /etc/ceph/{{ cluster }}.client.admin.keyring --fsid {{ fsid }} -- ceph pg stat --format json"
changed_when: false changed_when: false