# {{ ansible_managed }} [Unit] Description=Ceph OSD PartOf=ceph-osd.target {% if container_binary == 'docker' %} After=docker.service network-online.target local-fs.target time-sync.target Requires=docker.service {% else %} After=network-online.target local-fs.target time-sync.target {% endif %} Wants=network-online.target local-fs.target time-sync.target {% set cpu_limit = ansible_facts['processor_vcpus']|int if ceph_osd_docker_cpu_limit|int > ansible_facts['processor_vcpus']|int else ceph_osd_docker_cpu_limit|int %} [Service] EnvironmentFile=-/etc/environment {% if container_binary == 'podman' %} ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid ExecStartPre=-/usr/bin/{{ container_binary }} rm --storage ceph-osd-%i ExecStartPre=-/usr/bin/mkdir -p /var/log/ceph ExecStartPre=-/usr/bin/mkdir -p /var/lib/ceph/osd/{{ cluster }}-%i {% else %} ExecStartPre=-/usr/bin/{{ container_binary }} stop ceph-osd-%i {% endif %} ExecStartPre=-/usr/bin/{{ container_binary }} rm -f ceph-osd-%i ExecStart=/bin/bash /var/lib/ceph/osd/{{ cluster }}-%i/run %t %n {% if container_binary == 'podman' %} ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`" {% else %} ExecStop=-/usr/bin/{{ container_binary }} stop --timeout 120 ceph-osd-%i {% endif %} KillMode=none Restart=always RestartSec=10s TimeoutStartSec=120 TimeoutStopSec=120 {% if container_binary == 'podman' %} Type=forking PIDFile=/%t/%n-pid {% endif %} [Install] WantedBy=ceph.target