Skip to content

Commit

Permalink
meta-openpower:op-occ-disable: remove wants on synch target
Browse files Browse the repository at this point in the history
openbmc/phosphor-state-manager#21 highlights an architecture issue with
OpenBMC's use of synchronization targets. When a service, such as
[email protected], runs both in a standard power off target,
as well as in other paths (like the host quiesce path), there is an
issue.

The service starts the synchronization targets in the quiesce path and
this causes them to already be running on the power off, resulting in
the synchronization targets not actually coordinating the power off.

The direction this commit takes OpenBMC is that if a service needs to
run outside of the standard power on or off path, then they can not
have a Wants or Requires clause in the service file.

The following commit was done a while back to address this issue:
  https://gerrit.openbmc.org/c/openbmc/phosphor-state-manager/+/40026

That is that we ensure the primary power on and off targets start the
synchronization targets so services requiring them can just use a
Before or After clause.

The piece that was never done was to go and fix the services which fell
into this bucket.

Add an explicit dependency on the stop-instructions service to ensure
that this service is always run before it when they are both started
at the same time. This just provides an extra level of protection to
ensure we never stop host instructions before disabling occ
monitoring.

Tested:
- Did multiple boots, reboots, and host crash tests and saw no issues

Signed-off-by: Andrew Geissler <[email protected]>
Change-Id: I6c8c32a605216c0c3dc2065f7c09236d2c216720
  • Loading branch information
geissonator authored and rfrandse committed Jul 25, 2022
1 parent 06a9c95 commit b802db7
Showing 1 changed file with 1 addition and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[Unit]
Description=OpenPOWER OCC Active Disable
Wants=obmc-host-stop-pre@%i.target
Before=obmc-host-stop-pre@%i.target
Before=op-enter-mpreboot@%i.service
Before=op-stop-instructions@%i.service
Conflicts=op-occ-enable@%i.service

[Service]
Expand Down

0 comments on commit b802db7

Please sign in to comment.