]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
docker: only use systemd to manage containers 1153/head
authorSébastien Han <seb@redhat.com>
Fri, 16 Dec 2016 13:53:14 +0000 (14:53 +0100)
committerSébastien Han <seb@redhat.com>
Fri, 16 Dec 2016 18:37:05 +0000 (19:37 +0100)
Prior to this patch we had several ways to runs containers, we could use
ansible's docker module on some distro and on containers distros we were
using systemd. We strongly believe threating containers as services with
systemd is the right approach so this patch generalizes to all the
distros. These days most of the distros are running systemd so it's fair
assumption.

Signed-off-by: Sébastien Han <seb@redhat.com>
22 files changed:
group_vars/mdss.yml.sample
group_vars/mons.yml.sample
group_vars/nfss.yml.sample
group_vars/osds.yml.sample
group_vars/rgws.yml.sample
roles/ceph-mds/defaults/main.yml
roles/ceph-mds/tasks/docker/start_docker_mds.yml
roles/ceph-mds/templates/ceph-mds.service.j2
roles/ceph-mon/defaults/main.yml
roles/ceph-mon/tasks/docker/start_docker_monitor.yml
roles/ceph-mon/templates/ceph-mon.service.j2
roles/ceph-nfs/defaults/main.yml
roles/ceph-nfs/tasks/docker/start_docker_nfs.yml
roles/ceph-nfs/templates/ceph-nfs.service.j2
roles/ceph-osd/defaults/main.yml
roles/ceph-osd/tasks/docker/start_docker_osd.yml
roles/ceph-osd/templates/ceph-osd.service.j2
roles/ceph-rbd-mirror/tasks/docker/start_docker_rbd_mirror.yml
roles/ceph-rgw/defaults/main.yml
roles/ceph-rgw/tasks/docker/start_docker_rgw.yml
roles/ceph-rgw/templates/ceph-rgw.service.j2
tests/functional/centos/7/docker-cluster/group_vars/all

index 4d0072aa0c6d19d06e4bc68ace9d12e2a2bf863d..6bf33c6822744cef2a404af6a1d50be3fe9c46bd 100644 (file)
@@ -35,7 +35,7 @@ dummy:
 #ceph_mds_docker_username: ceph
 #ceph_mds_docker_imagename: daemon
 #ceph_mds_docker_image_tag: latest
-#ceph_mds_docker_extra_env: "CLUSTER={{ cluster }},MDS_NAME={{ ansible_hostname }}" # comma separated variables
+#ceph_mds_docker_extra_env: -e CLUSTER={{ cluster }} -e MDS_NAME={{ ansible_hostname }}
 #ceph_docker_on_openstack: false
 #ceph_config_keys: [] # DON'T TOUCH ME
 
index b4877629fad83ec1ee92c3ab55da911322591600..844c6dff05a983c00de19f4c754c884825cab92e 100644 (file)
@@ -85,7 +85,7 @@ dummy:
 #ceph_mon_docker_username: ceph
 #ceph_mon_docker_imagename: daemon
 #ceph_mon_docker_image_tag: latest
-#ceph_mon_extra_envs: "CLUSTER={{ cluster }},FSID={{ fsid }},MON_NAME={{ ansible_hostname }}" # comma separated variables
+#ceph_mon_docker_extra_env: -e CLUSTER={{ cluster }} -e FSID={{ fsid }} -e MON_NAME={{ ansible_hostname }}
 #ceph_docker_on_openstack: false
 #mon_docker_privileged: false
 #mon_docker_net_host: true
index 7bd6ba095cb12f8c8fb7f3d644d547effa4d51eb..f1ef364d8bab2eee688223b7eb75e3ecc7b328e4 100644 (file)
@@ -88,7 +88,7 @@ dummy:
 #ceph_nfs_docker_username: ceph
 #ceph_nfs_docker_imagename: ganesha
 #ceph_nfs_docker_image_tag: latest
-#ceph_nfs_docker_extra_env: "GANESHA_EPOCH={{ ganesha_epoch }}" # comma separated variables
+#ceph_nfs_docker_extra_env: -e GANESHA_EPOCH={{ ganesha_epoch }}
 #ceph_docker_on_openstack: false
 #ceph_config_keys: [] # DON'T TOUCH ME
 
index 5184f706d5cf26b9121208755fbb42a9c3d68c20..b58483d7eadbaf260b6e9dd4956c77fffcf522da 100644 (file)
@@ -179,7 +179,7 @@ dummy:
 #ceph_osd_docker_username: ceph
 #ceph_osd_docker_imagename: daemon
 #ceph_osd_docker_image_tag: latest
-#ceph_osd_docker_extra_env: "CLUSTER={{ cluster }},CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE,OSD_JOURNAL_SIZE={{ journal_size }}" # comma separated variables
+#ceph_osd_docker_extra_env: -e CLUSTER={{ cluster }} -e CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE -e OSD_JOURNAL_SIZE={{ journal_size }}
 #ceph_osd_docker_devices: "{{ devices }}"
 #ceph_docker_on_openstack: false
 #ceph_config_keys: [] # DON'T TOUCH ME
index aa14a518d9fd23938148a60ebff79d96e9f22367..4e193e01821a0b6e249e5a34e2e2be6d23bd747b 100644 (file)
@@ -42,7 +42,7 @@ dummy:
 #ceph_rgw_docker_username: ceph
 #ceph_rgw_docker_imagename: daemon
 #ceph_rgw_docker_image_tag: latest
-#ceph_rgw_docker_extra_env: "CLUSTER={{ cluster }},RGW_CIVETWEB_PORT={{ ceph_rgw_civetweb_port }}" # comma separated variables
+#ceph_rgw_docker_extra_env: -e CLUSTER={{ cluster }} -e RGW_CIVETWEB_PORT={{ ceph_rgw_civetweb_port }}
 #ceph_docker_on_openstack: false
 #ceph_config_keys: [] # DON'T TOUCH ME
 #rgw_config_keys: "/" # DON'T TOUCH ME
index 65d0f39bc99baac555634b3311137778eccd71a7..d54171c874656ae046fc7b8feb4a05b68fb75fed 100644 (file)
@@ -27,6 +27,6 @@ kv_endpoint: 127.0.0.1
 ceph_mds_docker_username: ceph
 ceph_mds_docker_imagename: daemon
 ceph_mds_docker_image_tag: latest
-ceph_mds_docker_extra_env: "CLUSTER={{ cluster }},MDS_NAME={{ ansible_hostname }}" # comma separated variables
+ceph_mds_docker_extra_env: -e CLUSTER={{ cluster }} -e MDS_NAME={{ ansible_hostname }}
 ceph_docker_on_openstack: false
 ceph_config_keys: [] # DON'T TOUCH ME
index a62a7d536d15188c16510e6b2136e1e19cc0149a..cb76e977758c3ee621da5337f397094f9acaf68e 100644 (file)
     state: started
     enabled: yes
   changed_when: false
-  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
-
-- name: run the ceph metadata docker image
-  docker:
-    image: "{{ ceph_mds_docker_username }}/{{ ceph_mds_docker_imagename }}:{{ ceph_mds_docker_image_tag }}"
-    name: ceph-{{ ansible_hostname }}-mds
-    net: host
-    state: running
-    env: "CEPH_DAEMON=MDS,CEPHFS_CREATE=1,{{ ceph_mds_docker_extra_env }}"
-    volumes: "/var/lib/ceph:/var/lib/ceph,/etc/ceph:/etc/ceph,/etc/localtime:/etc/localtime:ro"
-  when: ansible_os_family != 'RedHat' and ansible_os_family != 'CoreOS'
index 208c8d294d3257165179970c2831d1d3a66e5838..311c3b7f847a781f8d5529bcae6e369181897858 100644 (file)
@@ -18,7 +18,7 @@ ExecStart=/usr/bin/docker run --rm --net=host \
    --privileged \
    -e CEPH_DAEMON=MDS \
    -e CEPHFS_CREATE=1 \
-   -e {{ ceph_mds_docker_extra_env }} \
+   {{ ceph_mds_docker_extra_env }} \
    --name={{ ansible_hostname }} \
    {{ ceph_mds_docker_username }}/{{ ceph_mds_docker_imagename }}:{{ ceph_mds_docker_image_tag }}
 ExecStopPost=-/usr/bin/docker stop {{ ansible_hostname }}
index 231d05fae330ace9d1b19d79b87e875fc3ec203d..d431e43107733a3fd8cad20cb267b237bf545e32 100644 (file)
@@ -77,7 +77,7 @@ ceph_mon_docker_subnet: "{{ public_network }}"# subnet of the ceph_mon_docker_in
 ceph_mon_docker_username: ceph
 ceph_mon_docker_imagename: daemon
 ceph_mon_docker_image_tag: latest
-ceph_mon_extra_envs: "CLUSTER={{ cluster }},FSID={{ fsid }},MON_NAME={{ ansible_hostname }}" # comma separated variables
+ceph_mon_docker_extra_env: -e CLUSTER={{ cluster }} -e FSID={{ fsid }} -e MON_NAME={{ ansible_hostname }}
 ceph_docker_on_openstack: false
 mon_docker_privileged: false
 mon_docker_net_host: true
index 16147050fe1ab8602f9bf9ef2783fd071472e95b..a2071936c17db81a2e0ed86e33b7d1f8b90fb334 100644 (file)
@@ -51,7 +51,6 @@
     mode: "0644"
   when:  ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
-
 - name: enable systemd unit file for mon instance
   shell: systemctl enable ceph-mon@{{ ansible_hostname }}.service
   failed_when: false
     state: started
     enabled: yes
   changed_when: false
-  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
-
-- name: run the ceph monitor docker image
-  docker:
-    image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}"
-    name: "{{ ansible_hostname }}"
-    net: "host"
-    state: "running"
-    privileged: "{{ mon_docker_privileged }}"
-    env: "MON_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_mon_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=MON,CEPH_PUBLIC_NETWORK={{ ceph_mon_docker_subnet }},CEPH_FSID={{ fsid }},{{ ceph_mon_extra_envs }}"
-    volumes: "/var/lib/ceph:/var/lib/ceph,/etc/ceph:/etc/ceph,/etc/localtime:/etc/localtime:ro"
-  when:
-    - ansible_os_family != 'RedHat'
-    - ansible_os_family != 'CoreOS'
-    - not mon_containerized_deployment_with_kv
-
-- name: run the ceph monitor docker image with kv
-  docker:
-    image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}"
-    name: "{{ ansible_hostname }}"
-    net: "host"
-    state: "running"
-    privileged: "{{ mon_docker_privileged }}"
-    env: "KV_TYPE={{kv_type}},KV_IP={{kv_endpoint}},MON_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_mon_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=MON,CEPH_PUBLIC_NETWORK={{ ceph_mon_docker_subnet }},{{ ceph_mon_extra_envs }}"
-    volumes: "/etc/localtime:/etc/localtime:ro"
-  when:
-    - ansible_os_family != 'RedHat'
-    - ansible_os_family != 'CoreOS'
-    - mon_containerized_deployment_with_kv
index b8facb2444f6c73e9b27ac6979d60daa20d8618c..32724f2e3d981703541a9cc984b8a6570c559b25 100644 (file)
@@ -25,7 +25,7 @@ ExecStart=/usr/bin/docker run --rm --name %i --net=host \
    -e CEPH_DAEMON=MON \
    -e MON_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_mon_docker_interface]['ipv4']['address'] }} \
    -e CEPH_PUBLIC_NETWORK={{ ceph_mon_docker_subnet }} \
-   -e MON_NAME={{ ansible_hostname }} \
+   {{ ceph_mon_docker_extra_env }} \
     {{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}
 ExecStopPost=-/usr/bin/docker stop %i
 Restart=always
index adab1743e4b1cf225dde2ad7fe9f71809599f476..23b694170e7bdea789cff7fcb910a8715f762aef 100644 (file)
@@ -80,6 +80,6 @@ kv_endpoint: 127.0.0.1
 ceph_nfs_docker_username: ceph
 ceph_nfs_docker_imagename: ganesha
 ceph_nfs_docker_image_tag: latest
-#ceph_nfs_docker_extra_env: "GANESHA_EPOCH={{ ganesha_epoch }}" # comma separated variables
+#ceph_nfs_docker_extra_env: -e GANESHA_EPOCH={{ ganesha_epoch }}
 ceph_docker_on_openstack: false
 ceph_config_keys: [] # DON'T TOUCH ME
index 137efa90eb4c8fb1dfa8232b5fa09cfb64ff5dc1..3b297d544e378220f35b52ee9886856d943f26fa 100644 (file)
     state: started
     enabled: yes
   changed_when: false
-  when:
-    is_atomic or
-    ansible_os_family == 'CoreOS'
 
 - name: wait for ceph.conf exists
   wait_for:
       path: "/etc/ceph/{{ cluster }}.conf"
   when: is_atomic
-
-- name: run the ceph NFS docker image
-  docker:
-    image: "{{ ceph_nfs_docker_username }}/{{ ceph_nfs_docker_imagename }}:{{ ceph_nfs_docker_image_tag }}"
-    name: "{{ ansible_hostname }}"
-    net: "host"
-    state: "running"
-    privileged: true
-    ports: "{{ ceph_nfs_port }}:{{ ceph_nfs_port }},111:111"
-    env: "CEPH_DAEMON=NFS,CEPH_PUBLIC_NETWORK={{ ceph_nfs_docker_subnet }},{{ ceph_nfs_extra_envs }}"
-    volumes: "/etc/ceph:/etc/ceph,/etc/ganesha:/etc/ganesha,/etc/localtime:/etc/localtime:ro"
-  when:
-    not is_atomic and
-    ansible_os_family != 'CoreOS' and
-    not mon_containerized_deployment_with_kv
-
-- name: run the ceph NFS docker image with kv
-  docker:
-    image: "{{ ceph_nfs_docker_username }}/{{ ceph_nfs_docker_imagename }}:{{ ceph_nfs_docker_image_tag }}"
-    name: "{{ ansible_hostname }}"
-    net: "host"
-    state: "running"
-    privileged: true
-    env: "CEPH_DAEMON=NFS,CEPH_PUBLIC_NETWORK={{ ceph_nfs_docker_subnet }},{{ ceph_nfs_extra_envs }}"
-    volumes: "/etc/ganesha:/etc/ganesha,/etc/localtime:/etc/localtime:ro"
-  when:
-    not is_atomic and
-    ansible_os_family != 'CoreOS' and
-    mon_containerized_deployment_with_kv
index 023bcfa77f5022bad360f7b0996631a7290e4a58..1be0320ae00de1ab11f0b7c1bba07cd880204680 100644 (file)
@@ -18,6 +18,7 @@ ExecStart=/usr/bin/docker run --rm --net=host \
    -v /etc/localtime:/etc/localtime:ro \
    --privileged \
    -e CEPH_DAEMON=NFS \
+   {{ ceph_nfs_docker_extra_env }} \
    --name=nfs-{{ ansible_hostname }} \
     {{ ceph_nfs_docker_username }}/{{ ceph_nfs_docker_imagename }}:{{ ceph_nfs_docker_image_tag }}
 ExecStopPost=-/usr/bin/docker stop %i
index 4ecb95a674d5581c6d1ecf5be5e623fe2d58c440..38fec306ba0e59895579c8746c4510c9786d4404 100644 (file)
@@ -171,7 +171,7 @@ ceph_osd_docker_prepare_env: -e CLUSTER={{ cluster }} -e OSD_JOURNAL_SIZE={{ jou
 ceph_osd_docker_username: ceph
 ceph_osd_docker_imagename: daemon
 ceph_osd_docker_image_tag: latest
-ceph_osd_docker_extra_env: "CLUSTER={{ cluster }},CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE,OSD_JOURNAL_SIZE={{ journal_size }}" # comma separated variables
+ceph_osd_docker_extra_env: -e CLUSTER={{ cluster }} -e CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE -e OSD_JOURNAL_SIZE={{ journal_size }}
 ceph_osd_docker_devices: "{{ devices }}"
 ceph_docker_on_openstack: false
 ceph_config_keys: [] # DON'T TOUCH ME
index 88b520b53d14393066742245e91d7ac77b1e3b2b..ad6cc5d74775612a1697ffeaea25251c7786983d 100644 (file)
@@ -57,6 +57,7 @@
     -e KV_TYPE={{kv_type}} \
     -e KV_IP={{kv_endpoint}} \
     -e KV_PORT={{kv_port}} \
+    {{ ceph_osd_docker_prepare_env }} \
     "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}" \
   with_together:
     - "{{ ceph_osd_docker_devices }}"
     enabled: yes
   changed_when: false
   with_items: "{{ ceph_osd_docker_devices }}"
-  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
-
-- name: run the ceph osd docker image
-  docker:
-    image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
-    name: "{{ ansible_hostname }}-osd-{{ item | regex_replace('/', '') }}"
-    net: host
-    pid: host
-    state: started
-    privileged: yes
-    env: "OSD_DEVICE={{ item }},{{ ceph_osd_docker_extra_env }}"
-    volumes: "/var/lib/ceph:/var/lib/ceph,/etc/ceph:/etc/ceph,/etc/localtime:/etc/localtime:ro,/dev:/dev,/run:/run"
-  with_items: "{{ ceph_osd_docker_devices }}"
-  when:
-    - ansible_os_family != 'RedHat'
-    - ansible_os_family != 'CoreOS'
-    - not osd_containerized_deployment_with_kv
-
-- name: run the ceph osd docker image with kv
-  docker:
-    image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
-    name: "{{ ansible_hostname }}-osd-{{ item | regex_replace('/', '') }}"
-    net: host
-    pid: host
-    state: running
-    privileged: yes
-    env: "KV_TYPE={{kv_type}},KV_IP={{kv_endpoint}},OSD_DEVICE={{ item }},{{ ceph_osd_docker_extra_env }}"
-    volumes: "/etc/localtime:/etc/localtime:ro,/dev/:/dev/"
-  with_items: "{{ ceph_osd_docker_devices }}"
-  when:
-   - ansible_os_family != 'RedHat'
-   - ansible_os_family != 'CoreOS'
-   - osd_containerized_deployment_with_kv
-
index a6841b9ac4bddbc635c6e8762679ceda5d668a75..b9dcbb0eab59a1eeb783e7b4a5feab026bc6f66a 100644 (file)
@@ -20,6 +20,7 @@ ExecStart=/usr/bin/docker run --rm --net=host --pid=host\
    --privileged \
    -e CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE \
    -e OSD_DEVICE=/dev/%i \
+   {{ ceph_osd_docker_extra_env }} \
    --name={{ ansible_hostname }}-osd-dev%i \
    {{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}
 ExecStop=-/usr/bin/docker stop {{ ansible_hostname }}-osd-dev%i
index abd100687da84b1ca3d2c38eeedecaf8eb019360..b3d127ce3a248d6812bf155360a5a34cc7789cf1 100644 (file)
     state: started
     enabled: yes
   changed_when: false
-  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
-
-- name: run the ceph rbd mirror docker image
-  docker:
-    image: "{{ ceph_rbd_mirror_docker_username }}/{{ ceph_rbd_mirror_docker_imagename }}:{{ ceph_rbd_mirror_docker_image_tag }}"
-    name: "{{ ansible_hostname }}"
-    net: host
-    state: running
-    volumes: "/etc/ceph:/etc/ceph,/etc/localtime:/etc/localtime:ro"
-  when: ansible_os_family != 'RedHat' and ansible_os_family != 'CoreOS'
index 3fa0d2a19a84c71410bd91cfea37931c7147aa6a..9bf33a86a42914e59ae42b1d80fe73855ae27142 100644 (file)
@@ -34,7 +34,7 @@ ceph_rgw_civetweb_port: "{{ radosgw_civetweb_port }}"
 ceph_rgw_docker_username: ceph
 ceph_rgw_docker_imagename: daemon
 ceph_rgw_docker_image_tag: latest
-ceph_rgw_docker_extra_env: "CLUSTER={{ cluster }},RGW_CIVETWEB_PORT={{ ceph_rgw_civetweb_port }}" # comma separated variables
+ceph_rgw_docker_extra_env: -e CLUSTER={{ cluster }} -e RGW_CIVETWEB_PORT={{ ceph_rgw_civetweb_port }}
 ceph_docker_on_openstack: false
 ceph_config_keys: [] # DON'T TOUCH ME
 rgw_config_keys: "/" # DON'T TOUCH ME
index cfdd107b1d21e347bebf2cc9b006f1a85ec21785..072615eca7d33f72e634342d7eb6e7e2fe94121c 100644 (file)
     state: started
     enabled: yes
   changed_when: false
-  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
-
-- name: run the rados gateway docker image
-  docker:
-    image: "{{ ceph_rgw_docker_username }}/{{ ceph_rgw_docker_imagename }}:{{ ceph_rgw_docker_image_tag }}"
-    name: ceph-{{ ansible_hostname }}-rgw
-    expose: "{{ ceph_rgw_civetweb_port }}"
-    ports: "{{ ceph_rgw_civetweb_port }}:{{ ceph_rgw_civetweb_port }}"
-    state: running
-    env: "CEPH_DAEMON=RGW,{{ ceph_rgw_docker_extra_env }}"
-    volumes: "/var/lib/ceph:/var/lib/ceph,/etc/ceph:/etc/ceph,/etc/localtime:/etc/localtime:ro"
-  when: ansible_os_family != 'RedHat' and ansible_os_family != 'CoreOS'
index 4dfcc754e1adc6b61dd7b5f4990b6d4d66ebf32c..e29a9d854809ded7d0fdab41d9366551d3648257 100644 (file)
@@ -17,6 +17,7 @@ ExecStart=/usr/bin/docker run --rm --net=host \
    -v /etc/localtime:/etc/localtime:ro \
    --privileged \
    -e CEPH_DAEMON=RGW \
+   {{ ceph_rgw_docker_extra_env }} \
    --name={{ ansible_hostname }} \
    {{ ceph_rgw_docker_username }}/{{ ceph_rgw_docker_imagename }}:{{ ceph_rgw_docker_image_tag }}
 ExecStopPost=-/usr/bin/docker stop {{ ansible_hostname }}
index 87c6e1e7b7d33450aad1294a09efe1f992a3b5e8..11c3d413f546a97006811ad951005c740632574e 100644 (file)
@@ -10,17 +10,14 @@ mds_containerized_deployment: True
 rgw_containerized_deployment: True
 cluster: test
 ceph_mon_docker_interface: eth1
-ceph_mon_docker_subnet: "192.168.15.0/24"
+ceph_mon_docker_subnet: "{{ public_network }}"
 journal_size: 100
-ceph_osd_docker_extra_env: "CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE,OSD_JOURNAL_SIZE={{ journal_size }}"
 ceph_docker_on_openstack: False
 public_network: "192.168.15.0/24"
 cluster_network: "192.168.16.0/24"
 journal_collocation: true
 ceph_rgw_civetweb_port: 8080
-ceph_osd_docker_devices:
-  - '/dev/sda'
-  - '/dev/sdb'
+ceph_osd_docker_devices: "{{ devices }}"
 devices:
-  - '/dev/sda'
-  - '/dev/sdb'
+  - /dev/sda
+  - /dev/sdb