8c90f319 | 09-May-2023 |
Andrew Geissler <geissonator@yahoo.com> |
systemd: no installation in templated targets
Upstream yocto introduced a change via e510222 (systemd-systemctl: fix instance template WantedBy symlink construction).
This fixes a bug that we in Op
systemd: no installation in templated targets
Upstream yocto introduced a change via e510222 (systemd-systemctl: fix instance template WantedBy symlink construction).
This fixes a bug that we in OpenBMC had been taking advantage of in that we were able to document our templated target dependencies without it actually doing anything. The real installation of services within targets occurs in our bitbake recipes due to the complexity of chassis and host instances on a per machine basis.
Leave the dependency information in the service files but comment them out. It's useful to be able to look at a service and understand which targets it's going to be installed into by the bitbake recipes.
In some cases, we had hard coded the target instance, which does install the service correctly, but only in that one target. All services should be installed via the bitbake recipe to ensure the service is properly installed in all instances of the target. Once the bump for this commit goes into openbmc/openbmc, I will ensure the recipe is updated to install all services correctly.
Change-Id: Ie8ec6b5fabe196bac669187ce50ee3b13262c98f Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
6ff01ae8 | 30-Mar-2023 |
Andrew Geissler <geissonator@yahoo.com> |
psu-monitor: adapt do chassis state instance change
phosphor-state-manager moved to a multi chassis and multi host design point. This made their corresponding service files instance based. For backw
psu-monitor: adapt do chassis state instance change
phosphor-state-manager moved to a multi chassis and multi host design point. This made their corresponding service files instance based. For backwards support, instance 0 will always represent the entire system, so utilize that as the dependency in this service file.
Tested: - Verified in other similar commits that this type of relationship works as expected
Change-Id: If8ed9abcbb6752ed86c801755df18467cf1e9fe8 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
6d42fd85 | 14-Feb-2023 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
treewide: remove dependencies on mapper.target
The mapper is dbus activated now, so these explicit dependency declarations are unnecessary and redundant.
Change-Id: I8f8382de95638680df43b6f18f92655
treewide: remove dependencies on mapper.target
The mapper is dbus activated now, so these explicit dependency declarations are unnecessary and redundant.
Change-Id: I8f8382de95638680df43b6f18f926556cd03e4a6 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
3da879ef | 26-Jan-2023 |
Andrew Geissler <geissonator@yahoo.com> |
update service file deps in accordance with recent refactoring
As noted in the following mailing list thread: https://lists.ozlabs.org/pipermail/openbmc/2022-November/032457.html
and implemented vi
update service file deps in accordance with recent refactoring
As noted in the following mailing list thread: https://lists.ozlabs.org/pipermail/openbmc/2022-November/032457.html
and implemented via this series of commits: https://gerrit.openbmc.org/q/topic:op-power-control-ref
Some systemd services had their names changed. Update the service files in this repo to reflect this.
Change-Id: I2121c63ba18222bbd1dfb37a2484d789950a160a Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
dc777fa2 | 06-May-2022 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Host reboot should not redo operations
While powering on the host, a "warm reboot" of the host may occur one or more times. For example, the host boot process may update hardware in a w
regulators: Host reboot should not redo operations
While powering on the host, a "warm reboot" of the host may occur one or more times. For example, the host boot process may update hardware in a way that requires a host reboot.
During a "warm reboot" of the host, power to the chassis remains on. As a result, the following regulator operations should *not* be performed: * Configuring the regulators again. * Disabling and then re-enabling regulator monitoring for sensors and redundant phase faults.
Modify several regulator systemd service files so that those regulator operations are not performed during a "warm reboot" of the host.
Test Plan: * https://gist.github.com/smccarney/c2eea054b7439b84b55f4fb89f474413
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I5e4c97168f0f7cdd5d7d6bfed227c5769a86d5a8
show more ...
|
d1307294 | 19-Apr-2022 |
Zev Weiss <zev@bewilderbeest.net> |
regulators: Add phosphor-regulators service dependencies
'regsctl' can't do anything useful until phosphor-regulators is running, so add systemd unit dependencies to ensure it's started before regul
regulators: Add phosphor-regulators service dependencies
'regsctl' can't do anything useful until phosphor-regulators is running, so add systemd unit dependencies to ensure it's started before regulators-config and regulators-monitor-{enable,disable}.
While we're at it, change phosphor-regulators.service to be of type dbus so we get a more meaningful check that it's really up and running, and tweak the instantiation of ManagerObject so that it emits the necessary signals.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Change-Id: I724e4f335c4347ad6789e2d68cfb58c6387e6073
show more ...
|
e367ded8 | 12-Apr-2022 |
Brandon Wyman <bjwyman@gmail.com> |
psu-ng: Remove system from inventory mapper-wait
Update the service file for phosphor-psu-monitor to just wait for the inventory service, not the /system inventory object specifically. Waiting for t
psu-ng: Remove system from inventory mapper-wait
Update the service file for phosphor-psu-monitor to just wait for the inventory service, not the /system inventory object specifically. Waiting for the /system inventory object is unnecessary and can cause delays in reaching BMC_READY state.
Signed-off-by: Brandon Wyman <bjwyman@gmail.com> Change-Id: I5e1f1f271d0d3389b3a19a946e5360ad54de057c
show more ...
|
e5b1e087 | 02-Mar-2022 |
Adriana Kobylak <anoo@us.ibm.com> |
psu-ng: Set the PowerSystemInputs status on Brownout condition
When a brownout condition is detected, set the PowerSystemInputs status property to Fault to avoid an autorestart, reference design doc
psu-ng: Set the PowerSystemInputs status on Brownout condition
When a brownout condition is detected, set the PowerSystemInputs status property to Fault to avoid an autorestart, reference design doc: https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/48015
Add a Before=xyz.openbmc_project.State.Chassis.service to the psu monitor service file since the chassis service is the one that will be reading the property.
Add additional data to the Blackout error log.
Tested: On simulation:
1. Clear brownout at runtime: - At power on, inject a power fault to all PSUs to trigger a brownout and verify the CurrentPowerStatus is set to Fault:
Mar 20 19:49:14 p10bmc phosphor-log-manager[318]: Created PEL 0x5000000d (BMC ID 13) with SRC 110000AC Mar 20 19:49:14 p10bmc phosphor-power-control[307]: callbackSetPowerSupplyError: xyz.openbmc_project.State.Shutdown.Power.Error.Blackout
‣ Type=signal Endian=l Flags=1 Version=1 Cookie=94 Timestamp="Sun 2022-03-20 19:49:14.241856 UTC" Sender=:1.1296 Path=/xyz/openbmc_project/power/power_supplies/chassis0/psus Interface=org.freedesktop.DBus.Properties Member=PropertiesChanged ... STRING "xyz.openbmc_project.State.Decorator.PowerSystemInputs"; ... STRING "xyz.openbmc_project.State.Decorator.PowerSystemInputs.Status.Fault";
- Additional data on the error log:
"User Data 1": { "Section Version": "1", "Sub-section type": "1", "Created by": "0x2000", "NOT_PRESENT_COUNT": "2", "VIN_FAULT_COUNT": "2", "_PID": "10244" }
- Clear the brownout condition and verify the status is set to Good.
Change-Id: I29695b641fb81515680a478e872bac29a6de560a Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
5f99bc02 | 28-Jan-2022 |
Jim Wright <jlwright@us.ibm.com> |
pseq: Add service file
Add service file for power control and power sequence monitoring combined application. Change meson build files to support.
Signed-off-by: Jim Wright <jlwright@us.ibm.com> Ch
pseq: Add service file
Add service file for power control and power sequence monitoring combined application. Change meson build files to support.
Signed-off-by: Jim Wright <jlwright@us.ibm.com> Change-Id: I0c06b0b66c7d02145516564dc98123a4633498b3
show more ...
|
e97fc13a | 14-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Fix race condition in monitor disable
There is a systemd service file that disables regulator monitoring when the chassis is powered off. This is necessary because we do not want to rea
regulators: Fix race condition in monitor disable
There is a systemd service file that disables regulator monitoring when the chassis is powered off. This is necessary because we do not want to read sensor values or check for phase faults when the chassis is powered off. Monitoring needs to stop before the regulators are disabled/turned off.
The service file currently does not specify a 'Type', which means that it defaults to Type 'simple'. Service files of this Type are considered started when they fork the specified executable. That is, systemd does not wait for the executable to complete.
In this case, we need the executable to complete. The service runs the regsctl executable, which makes a D-Bus method call to the regulators application disabling monitoring. We need this D-Bus method to complete before proceeding with the power off.
Otherwise there is a race condition between the following: * The timers that initiate sensor and phase fault monitoring could expire, causing unwanted monitoring to occur during power off. * The regsctl executable could complete the D-Bus call, stopping monitoring and the associated timers.
The solution is to set the Type of the service file to 'oneshot'. This causes systemd to wait until the executable completes.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I399a2a4ba7f1a256c42a7e9b8b036abd1b077033
show more ...
|
bb1dfb6a | 13-Aug-2021 |
Andrew Geissler <geissonator@yahoo.com> |
reg-config: ensure runs before chassis power on
openbmc/phosphor-state-manager#16 documents an issue with the obmc-power-start-pre@.target. Root cause is unknown at this point. Until root cause is u
reg-config: ensure runs before chassis power on
openbmc/phosphor-state-manager#16 documents an issue with the obmc-power-start-pre@.target. Root cause is unknown at this point. Until root cause is understood there, set the service dependency directly to ensure this service always runs prior to chassis power being turned on.
Tested: - Ran 10 power on/off and verified this service always ran before power was turned on to the chassis.
Change-Id: I6192d8226f6916ba36b01407f271215bd53c2ab3 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
bdca4938 | 15-Jan-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
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>
show more ...
|
9b86852e | 24-Nov-2020 |
Brandon Wyman <bjwyman@gmail.com> |
psu-ng: Wait for inventory manager
The phosphor-psu-monitor application should wait for the inventory manager service. It more specifically needs to wait until the inventory manager service has crea
psu-ng: Wait for inventory manager
The phosphor-psu-monitor application should wait for the inventory manager service. It more specifically needs to wait until the inventory manager service has created the object path that the power supplies will be under. Those are needed by the phosphor-gpio-presence service(s) in order to create/update power supply objects with an updated Present property based on the GPIO presence line state.
Remove the unnecessary wait for obmc-mapper.target.
Signed-off-by: Brandon Wyman <bjwyman@gmail.com> Change-Id: I547ed4ee8f4d6d9ae7e4a7f1becc59d0ebd4ba00
show more ...
|
01bc6120 | 29-Jan-2020 |
Matthew Barth <msbarth@us.ibm.com> |
regs: Add/install monitor disable service
Create a service file to call a method within the phosphor-regulators binary to disable monitoring of the regulators. Add this service file to be installed
regs: Add/install monitor disable service
Create a service file to call a method within the phosphor-regulators binary to disable monitoring of the regulators. Add this service file to be installed within the systemd services directory(`/lib/systemd/system/`).
Tested: Disable of monitoring is called the earliest after a request to poweroff
Signed-off-by: Matthew Barth <msbarth@us.ibm.com> Change-Id: Idd8ad73c807faddc90a7d86fd09da0508d5461dd
show more ...
|
0a0ef78a | 20-Dec-2019 |
Matthew Barth <msbarth@us.ibm.com> |
regs: Add/install monitor enable service
Create a service file to call a method within the phosphor-regulators binary to enable monitoring of the regulators. Add this service file to be installed wi
regs: Add/install monitor enable service
Create a service file to call a method within the phosphor-regulators binary to enable monitoring of the regulators. Add this service file to be installed within the systemd services directory(`/lib/systemd/system/`).
Tested: Monitoring is enabled after power on is complete Enablement of monitor does not block any other services
Signed-off-by: Matthew Barth <msbarth@us.ibm.com> Change-Id: Ieee747c00ef748140511a50324201c11d9c8738f
show more ...
|
ec16128c | 20-Dec-2019 |
Matthew Barth <msbarth@us.ibm.com> |
regs: Add/install config service
Create a service file to call a method within the phosphor-regulators binary to configure the regulators. Add this service file to be installed within the systemd se
regs: Add/install config service
Create a service file to call a method within the phosphor-regulators binary to configure the regulators. Add this service file to be installed within the systemd services directory(`/lib/systemd/system/`).
Tested: Started before pre-poweron target is set Keeps next poweron target from starting until completes
Signed-off-by: Matthew Barth <msbarth@us.ibm.com> Change-Id: I1c470c7221c589733e6cb5bb8346545e2039d467
show more ...
|
1efdd62d | 20-Dec-2019 |
Matthew Barth <msbarth@us.ibm.com> |
regulators: Add/install base service
Create a service file to start the phosphor-regulators binary that will be linked to the multi-user target so that its started at BMC standby. Add this service f
regulators: Add/install base service
Create a service file to start the phosphor-regulators binary that will be linked to the multi-user target so that its started at BMC standby. Add this service file to be installed within the systemd services directory(`/lib/systemd/system/`).
Change https://gerrit.openbmc-project.xyz/27972 installs the binary
Tested: Service file installed in /lib/systemd/system/ Linked to multi-user target in recipe and it started at BMC standby
Signed-off-by: Matthew Barth <msbarth@us.ibm.com> Change-Id: I5ef1485569ada2737e0e8d5ce11965c4eff0eb45
show more ...
|
bd1c4ffa | 14-Jan-2020 |
Brandon Wyman <bjwyman@gmail.com> |
psu: Add phosphor-psu-monitor.service
Creating a new service file for the phosphor-psu-monitor application created by the phosphor-power-supply subdirectory tree.
Signed-off-by: Brandon Wyman <bjwy
psu: Add phosphor-psu-monitor.service
Creating a new service file for the phosphor-psu-monitor application created by the phosphor-power-supply subdirectory tree.
Signed-off-by: Brandon Wyman <bjwyman@gmail.com> Change-Id: I2769f6ac0012fe8849ef266930d8c736a88417ce
show more ...
|
00ff9100 | 04-Nov-2019 |
Andrew Geissler <geissonator@yahoo.com> |
power-supply-monitor: fix systemd unit syntax
Now that the service is in the corresponding repository, need to put the absolute path to the env file and only use single {} for the env variables
Cha
power-supply-monitor: fix systemd unit syntax
Now that the service is in the corresponding repository, need to put the absolute path to the env file and only use single {} for the env variables
Change-Id: I78d38b747c33122c416bdc5470b773e25154fc84 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
bd3bd824 | 10-Oct-2019 |
Lei YU <mine260309@gmail.com> |
Move services into repo
Add the services from meta-witherspoon into this repo.
Signed-off-by: Lei YU <mine260309@gmail.com> Change-Id: I3e652b56d5635d3b31ac0ba32f9be2ebfb950ab7 |