Skip to content

Commit

Permalink
remove wants on synch targets in stop-instructions
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.

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

Signed-off-by: Andrew Geissler <[email protected]>
Change-Id: Ida68d83e2c2c18484eb4f28bc55c91fa5ff94930
  • Loading branch information
geissonator committed Jul 20, 2022
1 parent 62c8c93 commit 58747b5
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions service_files/[email protected]
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
[Unit]
Description=Stop instructions for host%i
Wants=obmc-host-stop-pre@%i.target
After=obmc-host-stop-pre@%i.target
Wants=obmc-host-stopping@%i.target
Before=obmc-host-stopping@%i.target
After=op-occ-disable@%i.service
After=openpower-update-bios-attr-table.service
Expand Down

0 comments on commit 58747b5

Please sign in to comment.