Skip to content

Commit

Permalink
remove wants on synch targets in soft off
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
pldmSoftPowerOff.service, runs both in a standard power off
target, as well as in other paths (like the host graceful 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.

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

Signed-off-by: Andrew Geissler <[email protected]>
Change-Id: I7260f4aad666acf127f9766cf27dd54f4a18ebe4
  • Loading branch information
geissonator authored and Andrew Geissler committed Jul 20, 2022
1 parent 07c2f0a commit d020a4f
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion softoff/services/pldmSoftPowerOff.service
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
Description=PLDM soft power off app
Wants=pldmd.service
After=pldmd.service
Wants[email protected]
Before[email protected]
Conflicts[email protected]

Expand Down

0 comments on commit d020a4f

Please sign in to comment.