HomeClusterLabs Projects

Fix: libcrmservice: consider a monitor pending if LoadUnit receives no reply…

Description

Fix: libcrmservice: consider a monitor pending if LoadUnit receives no reply from systemd

... rather than return an error yet.

When systemd is re-executing by systemctl daemon-reexec, if a monitor
of a systemd resource happens to be executing at the same time, the
LoadUnit method will receive org.freedesktop.DBus.Error.NoReply from
dbus in the first place. Previously in a bad case, most of the systemd
resources in the cluster might report monitor errors and get restarted
despite the fact that they were actually running well.

This fixes it by marking such a monitor as PCMK_EXEC_PENDING rather
PCMK_EXEC_ERROR, so that the monitor can retry with another iteration.

Details

Provenance
gao-yanAuthored on Tue, May 13, 6:51 AM
Parents
rPc2426e5bf7e2: Merge pull request #3870 from nrwahl2/nrwahl2-regression
Branches
Unknown
Tags
Unknown