Home
last modified time | relevance | path

Searched hist:bdca49383bffe70cbfe98829db40fe008eebbbe4 (Results 1 – 2 of 2) sorted by relevance

/openbmc/phosphor-power/services/
H A Dpseq-monitor.servicebdca49383bffe70cbfe98829db40fe008eebbbe4 Fri Jan 15 10:26:15 CST 2021 Andrew Geissler <geissonator@yahoo.com> fix pseq-monitor and chassis power off race cond

Downstream testing recently found an issue where chassis power would be
removed before the pseq-monitor had stopped. This caused the
pseq-monitor to log errors.

Reviewing the systemd Conflicts documentation out at
https://www.freedesktop.org/software/systemd/man/systemd.unit.html
highlights some special caveats with the Conflicts statement.
Mainly that ordering is not guaranteed without an After or Before
clause. Testing also showed that when it comes to a service vs. target
conflicts, the most systemd will do is guarantee the conflicting service
is stopped before the target completes.

Give the above constraints, move the pseq-monitor Conflicts to the
obmc-power-stop-pre@.target and add an After clause. The
obmc-power-stop-pre@.target is the target which runs prior to power
being removed from the chassis.

Tested:
- Verified pseq monitor services consistently stop before the power is
removed from the chassis.

Change-Id: Ic73efc6281c3c422e0b483d4c24cb92228fd5875
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
H A Dpseq-monitor-pgood.servicebdca49383bffe70cbfe98829db40fe008eebbbe4 Fri Jan 15 10:26:15 CST 2021 Andrew Geissler <geissonator@yahoo.com> fix pseq-monitor and chassis power off race cond

Downstream testing recently found an issue where chassis power would be
removed before the pseq-monitor had stopped. This caused the
pseq-monitor to log errors.

Reviewing the systemd Conflicts documentation out at
https://www.freedesktop.org/software/systemd/man/systemd.unit.html
highlights some special caveats with the Conflicts statement.
Mainly that ordering is not guaranteed without an After or Before
clause. Testing also showed that when it comes to a service vs. target
conflicts, the most systemd will do is guarantee the conflicting service
is stopped before the target completes.

Give the above constraints, move the pseq-monitor Conflicts to the
obmc-power-stop-pre@.target and add an After clause. The
obmc-power-stop-pre@.target is the target which runs prior to power
being removed from the chassis.

Tested:
- Verified pseq monitor services consistently stop before the power is
removed from the chassis.

Change-Id: Ic73efc6281c3c422e0b483d4c24cb92228fd5875
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>