a5eefd0f | 20-Jan-2023 |
Andrew Geissler <geissonator@yahoo.com> |
service-deps: remove logging as dependency
With the introduction of the following best practice: https://github.com/openbmc/docs/commit/43421bdd06dece37b2acc4c656d7839bfedcc681
It was determined th
service-deps: remove logging as dependency
With the introduction of the following best practice: https://github.com/openbmc/docs/commit/43421bdd06dece37b2acc4c656d7839bfedcc681
It was determined that phosphor-logging should be a d-bus activated service. That is, this service will be activated when called so there is no reason to specifically list it as a dependency in service files.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d871768bd3e515741825287bed4646a51c9b996
show more ...
|
960017a4 | 17-Jan-2023 |
Andrew Geissler <geissonator@yahoo.com> |
scheduled-host-transition: make backward compatible
Similar to what was done with the host and chassis code, ensure the old d-bus service name, xyz.openbmc_project.State.ScheduledHostTransition, is
scheduled-host-transition: make backward compatible
Similar to what was done with the host and chassis code, ensure the old d-bus service name, xyz.openbmc_project.State.ScheduledHostTransition, is registered when the host instance is 0.
This ensures any code or tools that had hard coded the service name prior to the instance based support continue to work
Tested: - Confirmed with this change that both xyz.openbmc_project.State.ScheduledHostTransition and xyz.openbmc_project.State.ScheduledHostTransition0 work
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I1fb5ca622db01c931d70461d0ab4847c890b6df7
show more ...
|
c4c702c9 | 18-Nov-2022 |
Andrew Geissler <geissonator@yahoo.com> |
doc: update README with some misc items
- Utilize abbreviation (PSM) when not starting a sentence with it - Add details of new supported states - Specify targets utilized to control each objects sta
doc: update README with some misc items
- Utilize abbreviation (PSM) when not starting a sentence with it - Add details of new supported states - Specify targets utilized to control each objects state
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ib9ffb107f4e86b1fe34f07b73116f26eec3cb9d3
show more ...
|
82f23534 | 08-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
markdownlint: fix all warnings
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I254f27e1b0a7840b1f119d589d71a4cf4b166425 |
1b83babf | 08-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
prettier: re-format
Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML files to have consistent formatting for these file types. Re-run the formatter on the whole repository.
prettier: re-format
Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML files to have consistent formatting for these file types. Re-run the formatter on the whole repository.
Change-Id: Id3397e8757554401055d3a5c921ce9d3eee3ee82 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
d182bff5 | 08-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
beautysh: re-format
beautysh is enabled in the openbmc-build-scripts on Bash/Zsh/POSIX-sh files to have a consistent formatting. Re-run the formatter on the whole repository.
Signed-off-by: Patric
beautysh: re-format
beautysh is enabled in the openbmc-build-scripts on Bash/Zsh/POSIX-sh files to have a consistent formatting. Re-run the formatter on the whole repository.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I8c4f46426087652161d7cbeab489bfe32d25f17e
show more ...
|
bd28f025 | 22-Nov-2022 |
William A. Kennington III <wak@google.com> |
treewide: Remove uses of bind
Bind is less compatible with function wrappers like function2 and more terse to read.
Change-Id: I34474b71758db1ffee301729c585c4d555df2064 Signed-off-by: William A. Ke
treewide: Remove uses of bind
Bind is less compatible with function wrappers like function2 and more terse to read.
Change-Id: I34474b71758db1ffee301729c585c4d555df2064 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
0688132a | 08-Nov-2022 |
DelphineCCChiu <Delphine_CC_Chiu@wiwynn.com> |
Support chassis power cycle
A new system is being designed which will utilize phosphor-state-manager and it requires the chassis system power cycle feature.
Test plan: Change property "RequestedPow
Support chassis power cycle
A new system is being designed which will utilize phosphor-state-manager and it requires the chassis system power cycle feature.
Test plan: Change property "RequestedPowerTransition" to trigger chassis power cycle target.
Change-Id: I30b0efd7c0fc72a9fb378f48e47c4c1af2b22ad6 Signed-off-by: Bonnie Lo <Bonnie_Lo@wiwynn.com>
show more ...
|
69a250dd | 10-Nov-2022 |
Andrew Geissler <geissonator@yahoo.com> |
improve new chassis power services
A few miscellaneous changes to improve descriptions and update where these services are actually installed by the bitbake recipes.
Signed-off-by: Andrew Geissler
improve new chassis power services
A few miscellaneous changes to improve descriptions and update where these services are actually installed by the bitbake recipes.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ic4471edcc589cd28f153a708d53f5a9b53fa2913
show more ...
|
86a1ebf9 | 10-Nov-2022 |
Andrew Geissler <geissonator@yahoo.com> |
move chassis power services to phosphor-state-manager
Move the generic services which are used to power on and off the chassis into phosphor-state-manager. This will make the use of phosphor-state-m
move chassis power services to phosphor-state-manager
Move the generic services which are used to power on and off the chassis into phosphor-state-manager. This will make the use of phosphor-state-manager for chassis power control more straightforward.
These services are directly copied from openbmc/openbmc/ meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/ and renamed to match with the existing naming conventions.
The only change to these files was if a Wants/Before/After service name was changing as a part of this.
A follow on commit will improve some of the Description fields.
The following email has more details on this change: https://lists.ozlabs.org/pipermail/openbmc/2022-November/032457.html
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I35d555139897cf58a26e36d1558ab7f5225d34bd
show more ...
|
eab2ea34 | 25-Feb-2021 |
Andrew Geissler <geissonator@yahoo.com> |
update host state documentation
Add the new transitioning to on and off states that are now supported by the host state software.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I
update host state documentation
Add the new transitioning to on and off states that are now supported by the host state software.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ifced2625546f365f1dd4f5888b8c702e314f2758
show more ...
|
2138f45c | 25-Feb-2021 |
Andrew Geissler <geissonator@yahoo.com> |
hypervisor: add to documentation
The optional hypervisor package was added recently to phosphor-state-manager. Add some basic documentation on it and what it supports.
Signed-off-by: Andrew Geissle
hypervisor: add to documentation
The optional hypervisor package was added recently to phosphor-state-manager. Add some basic documentation on it and what it supports.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8fb31a8f49599c6c664493856de7da7d246a8bfb
show more ...
|
6bb52dad | 07-Nov-2022 |
Andrew Geissler <geissonator@yahoo.com> |
obmc-host-graceful-quiesce: ensure starts synch targets
As seen in other scenarios, the power off synchronization targets do not always start in time when the obmc-host-graceful-quiesce@.target is s
obmc-host-graceful-quiesce: ensure starts synch targets
As seen in other scenarios, the power off synchronization targets do not always start in time when the obmc-host-graceful-quiesce@.target is started. This can result the host being stopped before it has had the chance to gracefully shut itself down.
Ensure the synchronization targets are started by adding them into the target with 'Wants' relationships.
Tested: - Booted system into hostboot, manually started the target and verified via the journal that the pldm-softpoweroff application completed prior to instructions stopping.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Iede5194c24ad05467235419eaf0f343bccdffc1a
show more ...
|
55324b49 | 27-Oct-2022 |
Andrew Geissler <geissonator@yahoo.com> |
only quiesce in reboot on host crash
This script was introduced to ensure a system properly halted in scenarios where the host has crashed (obmc-host-crash@.target). There was a loophole where the s
only quiesce in reboot on host crash
This script was introduced to ensure a system properly halted in scenarios where the host has crashed (obmc-host-crash@.target). There was a loophole where the standard reboot attempt logic check was not running in this specific path.
Unfortunately, that original change was not done quite right. This script is actually called on all host reboots so we have run into situations where the host is being put into quiesce before being given one last try to boot. That last try in non-host crash scenarios is where certain recovery actions (like trying alternate boot sources for some devices) is done.
This commit modifies the script to ensure it only moves the host to the quiesce state when the cause of the host reboot was a host crash.
Tested: - Verified in normal reboot path, even if AttemptsLeft is 0, the reboot is still done - Verified that if AttemptsLeft is 0 and reboot reason is HostCrash that host was put in quiesce
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I18e21cc33b3c38334ad760148a0754e2bd7d0780
show more ...
|
7e0e4e92 | 22-Jun-2022 |
Corey_Hardesty <corey.hardesty@icloud.com> |
call new obmc-chassis-blackout@.target on blackout
The following commit introduced a new systemd target to be called when OpenBMC firmware detects a power blackout has occurred (system unexpectedly
call new obmc-chassis-blackout@.target on blackout
The following commit introduced a new systemd target to be called when OpenBMC firmware detects a power blackout has occurred (system unexpectedly lost all power to system): https://gerrit.openbmc.org/c/openbmc/docs/+/54204
This target is now in place and the appropriate services have been installed into it. Switch the state-manager code over to call this new target.
Tested: - Verified in simulation that the target was called when the system experienced a blackout.
From a powered off state. root@p10bmc: systemctl stop xyz.openbmc_project.State.Chassis.service
Manipulated file to indicate that the power was on before service ended root@p10bmc: vi /var/lib/chassStateChangeTime
root@p10bmc: systemctl start xyz.openbmc_project.State.Chassis.service Jun 22 17:05:37 p10bmc phosphor-chassis-state-manager[1155]: The system suffered a power blackout.
root@p10bmc: systemctl status obmc-chassis-blackout@0.target Active: active since Wed 2022-06-22 17:05:37 UTC; 8s ago
root@p10bmc: systemctl status phosphor-reset-state-sensors@0.service Jun 22 17:05:37 p10bmc systemd[1]: Finished Reset host sensors.
root@p10bmc: systemctl status obmc-led-group-stop@power_on.service Active: active (exited) since Wed 2022-06-22 17:05:37 UTC; 8s ago
Signed-off-by: Corey Hardesty <corey.hardesty@icloud.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: If95f8da52ec024e699204f4b26784c7457da5abf
show more ...
|
70b48f31 | 18-Aug-2022 |
Andrew Geissler <geissonator@yahoo.com> |
power-restore: always honor AlwaysOn policy
An internal bug was opened recently noting that when the only-run-apr-on-power-loss config option was set, the AlwaysOn policy was not executed. This didn
power-restore: always honor AlwaysOn policy
An internal bug was opened recently noting that when the only-run-apr-on-power-loss config option was set, the AlwaysOn policy was not executed. This didn't make sense because the AlwaysOn policy is specifically saying to always power the system on. This commit changes the logic to always power on, no matter what, if the user has set the policy to AlwaysOn.
This change fixes a subtle bug in the one-time logic as well. Prior to this change, the one-time setting would always be executed even if the only-run-apr-on-power-loss config option was set. The reasoning behind the bug was that the one-time did need to always be executed, when it was set to AlwaysOn. The one-time is used in situations where host or BMC firmware needs to reboot the BMC but ensure the system boots back up after the BMC reboot (inband code update, brownout conditions). This commit ensures we continue to execute that behavior but also ensures we do not run the one-time otherwise when only-run-apr-on-power-loss is set and there was not an AC loss.
Tested: - Verified AlwaysOn always powered on system - Verified power was only "Restored" when there was an AC loss
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ic5ba84cf2d4fe80fc60ebf9440520a80d91c9ed9
show more ...
|
26854617 | 19-Aug-2022 |
Potin Lai <potin.lai@quantatw.com> |
host-reboot: add host instance in get_reboot_count()
Add multi-host support to get_reboot_count()
Signed-off-by: Potin Lai <potin.lai@quantatw.com> Change-Id: I77c00273bfcf4a45a6e24ac8e1a8540f2d609
host-reboot: add host instance in get_reboot_count()
Add multi-host support to get_reboot_count()
Signed-off-by: Potin Lai <potin.lai@quantatw.com> Change-Id: I77c00273bfcf4a45a6e24ac8e1a8540f2d609e04
show more ...
|
e0554b0c | 04-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
MAINTAINERS: remove file
The MAINTAINERS file is deprecated in favor of OWNERS.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id93e95a004abcf04838c7512e8c1de9b92b2b0ab
|
27d1e14c | 27-Jul-2022 |
NodeMan97 <corey.hardesty@icloud.com> |
Ensure POR reset is logged
In situations where the last reboot cause is not changed to POR, specifically after unexpected AC losses, bmc-state-manager fails to update the property. Therefore after a
Ensure POR reset is logged
In situations where the last reboot cause is not changed to POR, specifically after unexpected AC losses, bmc-state-manager fails to update the property. Therefore after a power cycle the last reboot cause property is set to unknown. Thankfully, chassis-state-manager generates a file indicating an AC loss occurred and that can be used to identify that the last reboot cause was a power-on-cycle. It was necessary to add an "After xyz.openbmc_project.State.Chassis" dependency to bmc-state-managers service file to ensure the AC loss was generated prior to bmc-state-manager executing.
Tested:
- Ensured that when the system was power cycled that the last reboot cause was set to "POR" when the chassis lost power file was present.
- Verified that when the file was not present the last reboot cause was set accordingly (typically unknown)
Change-Id: Ifa6d5d6f89c221477ee2f2fa1ed15adade359e45 Signed-off-by: NodeMan97 <corey.hardesty@icloud.com>
show more ...
|
bcbee4a2 | 27-May-2022 |
NodeMan97 <corey.hardesty@icloud.com> |
Only run power restore on AC losses
Added a meson build option that allows the customer to enable automatic power restore policy only for AC losses where the chassis power was on prior to a BMC rese
Only run power restore on AC losses
Added a meson build option that allows the customer to enable automatic power restore policy only for AC losses where the chassis power was on prior to a BMC reset(and off when it comes back online).
The default is set to 'false' which provides the standard behavior of APR which is to always run APR on an BMC reboot. If the option 'only-run-apr-on-power-loss' is 'true' then APR is only run in the case of the chassis losing power. AC power losses trigger the creation of a file called 'chassis@0-lost-power' that identifies an AC power loss has occurred. This generated file can be found in the directory '/run/openbmc/'.
Tested: - Verified that when built with option 'only-run-apr-on-power-loss' set to false(default) that APR was ran. - Verified that when built with option 'only-run-apr-on-power-loss' set to true that apr was not ran when a power loss did not occur. - Verified that when built with option 'only-run-apr-on-power-loss' set to true that apr was only ran when a power loss occured.
Jun 08 01:55:13 p10bmc phosphor-chassis-state-manager[3009]: The system suffered a power blackout.
root@p10bmc:/lib/systemd/system# ls /run/openbmc/ chassis@0-lost-power
Signed-off-by: Corey Hardesty <corey.hardesty@icloud.com> Change-Id: Iac37761416d699e3a469936e00868a8d9b6dfdb1
show more ...
|
358de95e | 20-Jul-2022 |
NodeMan97 <corey.hardesty@icloud.com> |
Utilization of power restore delay for APR
There was an issue where APR would start too early in the boot process causing conflicts between the BMC and host firmware on the i2c buses. Waiting to run
Utilization of power restore delay for APR
There was an issue where APR would start too early in the boot process causing conflicts between the BMC and host firmware on the i2c buses. Waiting to run APR ensures the BMC reaches a READY state and that the vpd collection has completed. This commit adds a delay based off of the value of 'PowerRestoreDelay' a Dbus property hosted by the RestorePolicy interface. The system owners may override this value which is initially defaulted to 0 via an override in their meta layer.
Tested: - Ran an AC cycle of the system and restarted phosphor-discover- system-state@0.service.
- Ensure that the bmc reboot was delayed by the value specified by PowerRestoreDelay.
- Verified through on real hardware. Simulation environment has system noise that create unpredictable delay results with delays over 15 seconds. The delays in simulation always adhere to the property, but take additional time to boot.
- PowerRestoreDelay at 30 seconds (ran 5 separate times) systemctl stop phosphor-discover-system-state@0.service
Jul 22 17:47:23 p10bmc phosphor-discover-system-state[2224]: power_policy=Restore, powering host on (30s delay)
Jul 22 17:47:53 p10bmc systemd[1]: Finished Reboot If Enabled
5/5 tests were delayed exactly 30 seconds.
- PowerRestoreDelay at 100 seconds
Jul 22 17:52:45 p10bmc phosphor-discover-system-state[2224]: power_policy=Restore, powering host on (100s delay)
Jul 22 17:54:25 p10bmc systemd[1]: Finished Reboot If Enabled.
1/1 test(s) were delayed exactly 100 seconds.
- PowerRestoreDelay at 0 seconds
Jul 22 18:02:51 p10bmc phosphor-discover-system-state[2271]: power_policy=Restore, powering host on (30s delay)
Jul 22 18:02:51 p10bmc systemd[1]: Finished Reboot If Enabled.
Signed-off-by: Corey Hardesty <corey.hardesty@icloud.com> Change-Id: I69f7f9f3a9e638defcbee2bbb8dda6d9c4b7f0ae
show more ...
|
744fe627 | 21-Jul-2022 |
NodeMan97 <corey.hardesty@icloud.com> |
Power restore from last state after AC Loss
In situations where the power restore policy was set to Restore from the last known state (Restore) and the requested host transition was not denoted as "
Power restore from last state after AC Loss
In situations where the power restore policy was set to Restore from the last known state (Restore) and the requested host transition was not denoted as "On" would lead to the host never powering back on. For example, this occurs during a fresh boot of a system or after completing a system update where other RequestedHostTransition properties may be set such as 'GracefulWarmReboot'. This lead to the old logic in discover system state to never power the host back on which means there was a potential that users would have to manually power back on the host. This change inverts the logic, essentially checking to ensure the 'RequestedHostTransition' was not set to off and therefore indicating that power should be restored in all other cases (per the interface documentation).
Tested: - All testing was with PowerRestorePolicy as 'Restore' The corresponding gui option is 'LastState'.
- Applied changes and ensured that power was restored to the host with 'GracefulWarmReboot' set as the desired host transition property.
- Set 'RequestedHostTransition' property to "Reboot", "GraceFulWarmReboot", "ForcedWarmReboot" and verified that chassis power state was restored to 'On' after a power cycle.
- Confirmed that with any of the transition properties listed above set that the 'RequestedHostTransition' state switched to on after reboot.
- Verified that power state remained off when the 'RequestedHostTransition' property was set to 'Off'. Also that this property remained 'Off' after reboot.
Signed-off-by: Corey Hardesty <corey.hardesty@icloud.com> Change-Id: Ie582bf16b51a4cbc0c3c8b3016e3ed9e5f59cb80
show more ...
|
e56d8e60 | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have the correct field.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I8f9504a48c331e344127d8cf7ace2aba957eda63
show more ...
|
f053e6fe | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I41103c892db258a85640aa1442acd9a295c8a847
show more ...
|
128ea8e3 | 22-Jun-2022 |
Andrew Geissler <geissonator@yahoo.com> |
host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it ju
host-reboot: enforce host boot count on host crash
The host reboot path can be triggered via paths outside of the normal RequestedHostTransition property set. For example, if the host crashes, it just triggers an automatic reboot using the systemd targets, which means the check to prevent continuous host reboots is not run.
This commit ensures we decrement the reboot counter when a host crash occurs, and it also ensures we check that count when deciding if a reboot should occur.
While testing, it was found when we end in the host Quiesce state (after all reboot attempts have expired), the host stayed in Quiesce, even after issuing a power off. The fix for that was to ensure the obmc-host-quiesce@.target conflicted with obmc-host-stop@.target to ensure it would properly run on the power off request and update the host state to Off.
Tested: - Verified that AttemptsLeft was properly decremented on host crashes - Verified that when AttempsLeft reached 0, the reboot was halted and the host state was moved to Quiesced - Verified that once in Quiesced, system could be powered off, and a boot worked fine (and AttempsLeft was back to 3)
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8d101b987517e160becc712ed70950f1d3204397
show more ...
|