diff --git a/tests/roles/ceph_migrate/handlers/main.yml b/tests/roles/ceph_migrate/handlers/main.yml index 31ccdcdb1..2a09e77b1 100644 --- a/tests/roles/ceph_migrate/handlers/main.yml +++ b/tests/roles/ceph_migrate/handlers/main.yml @@ -3,8 +3,3 @@ become: true ansible.builtin.command: "{{ ceph_cli }} mgr fail" - delegate_to: "{{ groups['ComputeHCI'][0] | default(inventory_hostname) }}" - when: - - groups['ComputeHCI'] is defined - - groups['ComputeHCI'] | length > 0 - - ceph_cli is defined diff --git a/tests/roles/ceph_migrate/tasks/post.yaml b/tests/roles/ceph_migrate/tasks/post.yaml index f1ac70399..2860159c2 100644 --- a/tests/roles/ceph_migrate/tasks/post.yaml +++ b/tests/roles/ceph_migrate/tasks/post.yaml @@ -11,3 +11,25 @@ vars: shell_header: "set -euo pipefail" when: ceph_daemons_layout.rgw | default(true) | bool + +- name: Remove faulty mgr + when: + - groups['ComputeHCI'] is defined + - groups['ComputeHCI'] | length > 0 + - ceph is defined + - ceph.health.status is defined + - ceph.health.status != 'HEALTH_OK' + block: + - name: Install cephadm on all compute nodes + become: true + ansible.builtin.package: + name: cephadm + state: present + loop: "{{ groups['ComputeHCI'] }}" + delegate_to: "{{ item }}" + + - name: Force fail ceph mgr on first compute node + become: true + ansible.builtin.command: cephadm shell -- ceph mgr fail + changed_when: false + delegate_to: "{{ groups['ComputeHCI'][0] }}"