]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Revert "shrink_osd: use cv zap by fsid to remove parts/lvs"
authorGuillaume Abrioux <gabrioux@redhat.com>
Thu, 25 Apr 2019 15:45:02 +0000 (17:45 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 25 Apr 2019 19:27:37 +0000 (21:27 +0200)
This reverts commit be59e0b451df6028c71eca54754d4d1464a8cc83.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
infrastructure-playbooks/shrink-osd.yml

index 89d0bc082f35dbe5084adbe0c86c08adb2b06b3d..e0135284b7cbd1ecb78d77dcbf3eeca6a59bc29b 100644 (file)
 
     - name: set_fact osd_hosts
       set_fact:
-        osd_hosts: "{{ osd_hosts | default([]) + [ [ (item.stdout | from_json).crush_location.host, (item.stdout | from_json).osd_fsid ] ] }}"
+        osd_hosts: "{{ osd_hosts | default([]) + [ (item.stdout | from_json).crush_location.host ] }}"
       with_items: "{{ find_osd_hosts.results }}"
 
+    - name: find lvm osd volumes on each host
+      ceph_volume:
+        action: "list"
+      environment:
+        CEPH_VOLUME_DEBUG: 1
+        CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment else None }}"
+      with_items: "{{ osd_hosts }}"
+      delegate_to: "{{ item }}"
+      register: osd_volumes
+
+    - name: filter osd volumes to kill by osd - non container
+      set_fact:
+        osd_volumes_to_kill_non_container: "{{ osd_volumes_to_kill_non_container | default([]) + [ (item.1.stdout|from_json)[item.0] ] }}"
+      with_together:
+        - "{{ osd_to_kill.split(',') }}"
+        - "{{ osd_volumes.results }}"
+
+    - name: generate (host / volume) pairs to zap - non container
+      set_fact:
+        osd_host_volumes_to_kill_non_container: "{%- set _val = namespace(devs=[]) -%}
+        {%- for host in osd_hosts -%}
+        {%- for dev in osd_volumes_to_kill_non_container[loop.index-1] -%}
+        {%- set _val.devs = _val.devs + [{\"host\": host, \"path\": dev.path}] -%}
+        {%- endfor -%}
+        {%- endfor -%}
+        {{ _val.devs }}"
+
     - name: mark osd(s) out of the cluster
       command: "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} osd out {{ item }}"
       run_once: true
         name: ceph-osd@{{ item.0 }}
         state: stopped
         enabled: no
-      loop: "{{ osd_to_kill.split(',')|zip(osd_hosts)|list }}"
-      delegate_to: "{{ item.1.0 }}"
+      with_together:
+        - "{{ osd_to_kill.split(',') }}"
+        - "{{ osd_hosts }}"
+      delegate_to: "{{ item.1 }}"
 
     - name: zap osd devices
       ceph_volume:
         action: "zap"
-        osd_fsid: "{{ item.1 }}"
+        data: "{{ item.path }}"
       environment:
         CEPH_VOLUME_DEBUG: 1
         CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment else None }}"
-        CEPH_CONTAINER_BINARY: "{{ container_binary }}"
-      delegate_to: "{{ item.0 }}"
-      loop: "{{ osd_hosts }}"
+      delegate_to: "{{ item.host }}"
+      with_items: "{{ osd_host_volumes_to_kill_non_container }}"
 
     - name: purge osd(s) from the cluster
       command: "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} osd purge {{ item }} --yes-i-really-mean-it"