]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
osd: manage legacy ceph-disk non-container startup
authorSébastien Han <seb@redhat.com>
Thu, 29 Nov 2018 13:59:25 +0000 (14:59 +0100)
committerSébastien Han <seb@redhat.com>
Mon, 3 Dec 2018 15:01:57 +0000 (16:01 +0100)
The code is now able (again) to start osds that where configured with
ceph-disk on a non-container scenario.

Closes: https://github.com/ceph/ceph-ansible/issues/3388
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 452069cb3a2d0ee11552f88924474e3608f7d912)

roles/ceph-osd/tasks/start_osds.yml

index 84b97c6ad18ac8c5fa67893483040bd6ace205c7..34002ebf7511bc12b50c97adeced18769940c28d 100644 (file)
   when:
     - containerized_deployment
 
+# this is for ceph-disk, the ceph-disk command is gone so we have to list /var/lib/ceph
+- name: get osd ids
+  shell: |
+    ls /var/lib/ceph/osd/ | sed 's/.*-//'
+  register: osd_ids_non_container
+
 - name: set_fact docker_exec_start_osd
   set_fact:
     docker_exec_start_osd: "{{ '{{ container_binary }} run --rm --privileged=true -v /var/run/udev/:/var/run/udev/:z -v /run/lvm/lvmetad.socket:/run/lvm/lvmetad.socket -v /etc/ceph:/etc/ceph:z -v /dev:/dev --entrypoint=ceph-volume ' + ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment else 'ceph-volume' }}"
 
 - name: systemd start osd
   systemd:
-    name: ceph-osd@{{ item | regex_replace('/dev/', '') if osd_scenario != 'lvm' else item }}
+    name: ceph-osd@{{ item | regex_replace('/dev/', '') if osd_scenario != 'lvm' and containerized_deployment else item }}
     state: started
     enabled: yes
     daemon_reload: yes
-  with_items: "{{ devices if osd_scenario != 'lvm' else (ceph_osd_ids.stdout | from_json | list) }}"
+  with_items: "{{ devices if osd_scenario != 'lvm' and containerized_deployment else (ceph_osd_ids.stdout | from_json).keys() if osd_scenario == 'lvm' and not containerized_deployment else osd_ids_non_container.stdout_lines }}"
 
 - name: ensure systemd service override directory exists
   file: