--- # use shell rather than docker module # to ensure osd disk prepare finishes before # starting the next task - name: prepare ceph containerized osd disk collocated command: | {{ container_binary }} run --net=host \ --pid=host \ --privileged=true \ --name=ceph-osd-prepare-{{ ansible_hostname }}-{{ item.1 | regex_replace('/dev/', '') }} \ -v /etc/ceph:/etc/ceph:z \ -v /var/lib/ceph/:/var/lib/ceph/:z \ -v /dev:/dev \ -v /etc/localtime:/etc/localtime:ro \ -e DEBUG=verbose \ -e CLUSTER={{ cluster }} \ -e CEPH_DAEMON=OSD_CEPH_DISK_PREPARE \ -e OSD_DEVICE={{ item.1 }} \ {{ docker_env_args }} \ {{ ceph_osd_docker_prepare_env }} \ {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} with_together: - "{{ parted_results.results | default([]) }}" - "{{ devices }}" when: - not osd_auto_discovery - containerized_deployment - item.0.partitions|length == 0 - name: automatic prepare ceph containerized osd disk collocated command: | {{ container_binary }} run --net=host \ --pid=host \ --privileged=true \ --name=ceph-osd-prepare-{{ ansible_hostname }}-{{ item.split('/')[-1] }} \ -v /etc/ceph:/etc/ceph:z \ -v /var/lib/ceph/:/var/lib/ceph/:z \ -v /dev:/dev \ -v /etc/localtime:/etc/localtime:ro \ -e DEBUG=verbose \ -e CLUSTER={{ cluster }} \ -e CEPH_DAEMON=OSD_CEPH_DISK_PREPARE \ -e OSD_DEVICE={{ item }} \ {{ docker_env_args }} \ {{ ceph_osd_docker_prepare_env }} \ {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} with_items: "{{ devices }}" when: - osd_auto_discovery - containerized_deployment - devices is defined - name: manually prepare ceph "{{ osd_objectstore }}" non-containerized osd disk(s) with collocated osd data and journal command: "ceph-disk prepare {{ ceph_disk_cli_options }} {{ item.1 }}" with_together: - "{{ parted_results.results | default([]) }}" - "{{ devices }}" when: - not containerized_deployment - item.0.partitions|length == 0