]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ceph-disk: systemd unit must run after local-fs.target
authorLoic Dachary <ldachary@redhat.com>
Tue, 22 Nov 2016 13:45:45 +0000 (14:45 +0100)
committerLoic Dachary <ldachary@redhat.com>
Mon, 5 Dec 2016 08:51:05 +0000 (09:51 +0100)
commit93e671984b9062b3882d34910a439f99486b5d56
treec08df928214e6b524bfcfecb56334ab30e9f6837
parent828ac74961a450913d38308c1e37974a29c2539c
ceph-disk: systemd unit must run after local-fs.target

A ceph udev action may be triggered before the local file systems are
mounted because there is no ordering in udev. The ceph udev action
delegates asynchronously to systemd via ceph-disk@.service which will
fail if (for instance) the LVM partition required to mount /var/lib/ceph
is not available yet. The systemd unit will retry a few times but will
eventually fail permanently. The sysadmin can systemctl reset-fail at a
later time and it will succeed.

Add a dependency to ceph-disk@.service so that it waits until the local
file systems are mounted:

After=local-fs.target

Since local-fs.target depends on lvm, it will wait until the lvm
partition (as well as any dm devices) is ready and mounted before
attempting to activate the OSD. It may still fail because the
corresponding journal/data partition is not ready yet (which is
expected) but it will no longer fail because the lvm/filesystems/dm are
not ready.

Fixes: http://tracker.ceph.com/issues/17889
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit d954de5546ea34a07c1e4234b07c1cef6ab74463)
systemd/ceph-disk@.service