]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
systemd: only restart 3 times in 30 minutes, as fast as possible 22349/head
authorGreg Farnum <gfarnum@redhat.com>
Thu, 31 May 2018 22:55:51 +0000 (15:55 -0700)
committerGreg Farnum <gfarnum@redhat.com>
Thu, 31 May 2018 22:55:51 +0000 (15:55 -0700)
commit92f8ec5c0ef8bf500d9c608b6f372363f95629a4
tree51ab22fdb03f628a0bd7bdb69c91d67f0d2e764c
parentd5b83f14f449185a9d37a40d8aa35b07dcbf389b
systemd: only restart 3 times in 30 minutes, as fast as possible

Once upon a time, we configured our init systems to only restart an OSD 3 times
in a 30 minute period. This made sure a permanently-slow OSD would stay dead,
and that an OSD which was dying on boot (but only after a long boot process)
would not insist on rejoining the cluster for *too* long.

In 62084375fa8370ca3884327b4a4ad28e0281747e, Boris applied these same rules to
systemd in a great bid for init system consistency. Hurray!

Sadly, Loic discovered that the great dragons udev and ceph-disk were
susceptible to races under systemd (that we apparently didn't see with
the other init systems?), and our 3x start limit was preventing the
system from sorting them out. In b3887379d6dde3b5a44f2e84cf917f4f0a0cb120
he configured the system to allow *30* restarts in 30 minutes, but no more
frequently than every 20 seconds.

So that resolved the race issue, which was far more immediately annoying
than any concern about OSDs sometimes taking too long to die. But I've started
hearing in-person reports about OSDs not failing hard and fast when they go bad,
and I attribute some of those reports to these init system differences.

Happily, we no longer rely on udev and ceph-disk, and ceph-volume shouldn't
be susceptible to the same race, so I think we can just go back to the old way.

Partly-reverts: b3887379d6dde3b5a44f2e84cf917f4f0a0cb120
Partly-fixes: http://tracker.ceph.com/issues/24368

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
systemd/ceph-osd@.service.in