#ceph_containerized_deployment: false
#ceph_osd_docker_username: ceph
#ceph_osd_docker_imagename: daemon
-#ceph_osd_docker_devices:
-# - /dev/sdb
+#ceph_osd_docker_extra_env: "CEPH_DAEMON=OSD_CEPH_DISK" # comma separated variables
+#ceph_osd_docker_device:
+# - /dev/sdb
ceph_containerized_deployment: false\r
ceph_osd_docker_username: ceph\r
ceph_osd_docker_imagename: daemon\r
-#ceph_osd_docker_device: /dev/sdb\r
+ceph_osd_docker_extra_env: "CEPH_DAEMON=OSD_CEPH_DISK" # comma separated variables\r
+#ceph_osd_docker_device:\r
+# - /dev/sdb\r
--- /dev/null
+---
+- name: set config and keys paths
+ set_fact:
+ ceph_config_keys:
+ - /etc/ceph/ceph.conf
+ - /var/lib/ceph/bootstrap-osd/ceph.keyring
+
+- name: stat for ceph config and keys
+ local_action: stat path={{ item }}
+ with_items: ceph_config_keys
+ changed_when: false
+ sudo: false
+ ignore_errors: true
+ register: statconfig
+
+- name: try to fetch ceph config and keys
+ copy: >
+ src=fetch/docker_mon_files/{{ item.0 }}
+ dest={{ item.0 }}
+ owner=root
+ group=root
+ mode=644
+ with_together:
+ - ceph_config_keys
+ - statconfig.results
+ when: item.1.stat.exists == true
--- /dev/null
+---
+- include: pre_requisite.yml
+- include: fetch_configs.yml
+- include: start_docker_osd.yml
--- /dev/null
+---
+- name: create osd bootstrap directory
+ file: >
+ path=/var/lib/ceph/bootstrap-osd
+ state=directory
+
+# NOTE (leseb): for version 1.1.0 because https://github.com/ansible/ansible-modules-core/issues/1227
+- name: install docker-py
+ pip: >
+ name=docker-py
+ version=1.1.0
--- /dev/null
+---
+- name: run the ceph osd docker image
+ docker: >
+ image="{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}"
+ name={{ ansible_hostname }}-osd-{{ item | regex_replace('/', '') }}
+ net=host
+ state=running
+ privileged=yes
+ env="OSD_DEVICE={{ item }},{{ ceph_osd_docker_extra_env }}"
+ volumes="/var/lib/ceph:/var/lib/ceph,/etc/ceph:/etc/ceph,/dev/:/dev/"
+ with_items: ceph_osd_docker_devices
- include: ./scenarios/osd_directory.yml
when: osd_directory and not ceph_containerized_deployment
-- include: ./scenarios/docker.yml
+- include: ./docker/main.yml
when: ceph_containerized_deployment