From a325ff61e87ecddd19564e63e2a7acd19afcec10 Mon Sep 17 00:00:00 2001 From: Dimitri Savineau Date: Wed, 27 Nov 2019 11:27:09 -0500 Subject: [PATCH] switch_to_containers: fix umount ceph partitions When a container is already running on a non containerized node then the umount ceph partition task is skipped. This is due to the container ps command which always returns 0 even if the filter matches nothing. We should run the umount task when: 1/ the container command is failing (not installed) : rc != 0 2/ the container command reports running ceph-osd containers : rc == 0 Also we should not fail on the ceph directory listing. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1616159 Signed-off-by: Dimitri Savineau (cherry picked from commit 39cfe0aa65ddd96458ba9d0a031d801efbb0d394) --- ...-from-non-containerized-to-containerized-ceph-daemons.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml b/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml index ad005cd54..af244031a 100644 --- a/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml +++ b/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml @@ -250,7 +250,7 @@ - name: check if containerized osds are already running command: > - {{ container_binary }} ps --filter='name=ceph-osd' + {{ container_binary }} ps -q --filter='name=ceph-osd' changed_when: false failed_when: false register: osd_running @@ -260,6 +260,7 @@ find /var/lib/ceph/osd {% if dmcrypt | bool %}/var/lib/ceph/osd-lockbox{% endif %} -maxdepth 1 -mindepth 1 -type d register: osd_dirs changed_when: false + failed_when: false - name: unmount all the osd directories command: > @@ -267,7 +268,7 @@ changed_when: false failed_when: false with_items: "{{ osd_dirs.stdout_lines }}" - when: osd_running.rc != 0 + when: osd_running.rc != 0 or osd_running.stdout_lines | length == 0 tasks: - import_role: