#
74d7a552 |
| 14-Nov-2023 |
Thang Tran <thuutran@amperecomputing.com> |
Support Chassis TransitioningToOff/On state
When BMC turns on/off the host, it asserts/de-asserts the PSON to turn on/off the power. After that, BMC takes a little bit of time to change Chassis's st
Support Chassis TransitioningToOff/On state
When BMC turns on/off the host, it asserts/de-asserts the PSON to turn on/off the power. After that, BMC takes a little bit of time to change Chassis's state from Off/On to On/Off. During this time, BMC should show a temporary state instead of directly jumping to On/Off state.
As defined in the PDI the "CurrentPowerState" property of "Chassis" interface has 4 options[1]: - On - Off - TransitioningToOn - TransitioningToOff
This commit supports 2 more states: TransitioningToOn and TransitioningToOff. 2 states are updated before PSON is asserted or de-asserted.
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/State/Chassis.interface.yaml
Tested: 1. Update phosphor-state-manager recipe to add 2 services. 2. Turn on the host. $ipmitool power on 3. Check the journalctl logs. $journalctl | grep phosphor-chassis-state-manager 4. Chassis Power State is changed from TransitioningToOn to On. 5. Turn off the host. $ipmitool power off 6. Check the journalctl logs. $journalctl | grep phosphor-chassis-state-manager 7. Chassis Power State is changed from TransitioningToOff to Off.
Change-Id: I474882c87510351b5c64438b33d62072629e27e7 Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
show more ...
|
#
db8feba1 |
| 16-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
meson: Replace configure_file with fs.copyfile
configure_file is deprecated since 0.64.0, and replace it with fs.copyfile.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I9da6cfc78f1350
meson: Replace configure_file with fs.copyfile
configure_file is deprecated since 0.64.0, and replace it with fs.copyfile.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I9da6cfc78f1350e7d3bd755db1ecf19a23c86c5c
show more ...
|
#
afe12d69 |
| 28-Apr-2023 |
Andrew Geissler <geissonator@yahoo.com> |
optional service to log info log on chassis poweron
This commit introduces a new service that will log an informational log on every chassis power on.
This new informational error is being created
optional service to log info log on chassis poweron
This commit introduces a new service that will log an informational log on every chassis power on.
This new informational error is being created for a couple of reasons: - An easy eye catcher when reviewing logs to easily distinguish between major boots of the system (ones including a chassis power cycle) - A mechanism for other OpenBMC software which utilizes the log to report back to the user when errors from the current boot need attention
This service needs to run before any of the power/vrm services run to ensure any logs from those services can be correlated to running after the current power on has started.
By default this service will not be installed but can be brought in via a bbappend if desired.
Tested: - Built new service into a flash image and confirmed - Info log was logged as expected during power on (prior to any vrm, power, or fan functions) - Info log was not logged when rebooting the BMC from a host running state
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: If78c076d86efabed6b0093e9f4116502a4d9da93
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 ...
|
#
1662ba6b |
| 18-Mar-2022 |
Andrew Geissler <geissonator@yahoo.com> |
secure-boot: add service to run new secure check
Tested: - Built image with new service installed and verified that when QuiesceOnHwError was not set, we just got this: Mar 18 16:09:46 p10bmc syst
secure-boot: add service to run new secure check
Tested: - Built image with new service installed and verified that when QuiesceOnHwError was not set, we just got this: Mar 18 16:09:46 p10bmc systemd[1]: Starting Phosphor BMC Security Check... Mar 18 16:09:46 p10bmc phosphor-secure-boot-check[435]: bmc-secure-boot gpio found and indicates it is NOT enabled Mar 18 16:09:46 p10bmc phosphor-secure-boot-check[435]: Read 0 from secure_boot Mar 18 16:09:46 p10bmc phosphor-secure-boot-check[435]: Read 0 from abr_image Mar 18 16:09:47 p10bmc systemd[1]: Finished Phosphor BMC Security Check.
- When QuiesceOnHwError was set, we got this: Mar 18 16:37:10 p10bmc systemd[1]: Starting Phosphor BMC Security Check... Mar 18 16:37:10 p10bmc phosphor-secure-boot-check[1001]: bmc-secure-boot gpio found and indicates it is NOT enabled Mar 18 16:37:10 p10bmc phosphor-secure-boot-check[1001]: Read 0 from secure_boot Mar 18 16:37:10 p10bmc phosphor-secure-boot-check[1001]: Read 0 from abr_image Mar 18 16:37:10 p10bmc phosphor-secure-boot-check[1001]: The system is not secure Mar 18 16:37:10 p10bmc systemd[1]: Finished Phosphor BMC Security Check.
AND a log: "Severity" : { "type" : "s", "data" : "xyz.openbmc_project.Logging.Entry.Level.Warning" }, "Message" : { "type" : "s", "data" : "xyz.openbmc_project.State.Error.SecurityCheckFail" }, "EventId" : { "type" : "s", "data" : "BD8D3405 00000055 2E2D0010 00000000 00000000 00000000 00000000 00000000 00000000" }, "AdditionalData" : { "type" : "as", "data" : [ "SECURE_BOOT_GPIO=0", "SYSFS_ABR_IMAGE_VAL=0", "SYSFS_SECURE_BOOT_VAL=0", "_PID=1001" ] },
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I6513280d30672907341b8f3fc583644ebec4cdc5
show more ...
|
#
211d972d |
| 07-Apr-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sched-host-tran: support multi-host
The State.Host objects are now templated, so the ScheduledHostTransition similarly needs to be templated.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Cha
sched-host-tran: support multi-host
The State.Host objects are now templated, so the ScheduledHostTransition similarly needs to be templated.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I60751dbe5fff5e3c0c2c7a19515524cf5f6bc8f7
show more ...
|
#
70f36d8e |
| 14-Mar-2022 |
Potin Lai <potin.lai@quantatw.com> |
chassis-state-manager: Add multi-chassis support
Add multi-chassis management support, each chassis bus separates by giving a unique chassis id.
Current code only support single chassis, and alway
chassis-state-manager: Add multi-chassis support
Add multi-chassis management support, each chassis bus separates by giving a unique chassis id.
Current code only support single chassis, and alway assume bus name is "xyz.openbmc_project.State.Chassis".
This patch allow user to launch chassis-state-manager with a chassis id, and chassis id is added into service bus name for identification.
Because there are many places hardcode with bus name "xyz.openbmc_project.State.Chassis", if chassis id is 0, chassis-state-manager will request both "xyz.openbmc_project.State.Chassis" and "xyz.openbmc_project.State.Chassis0" bus name to meet backwards compatibility.
Tested on Bletchley: root@bletchley:~# busctl tree xyz.openbmc_project.State.Chassis `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/state `-/xyz/openbmc_project/state/chassis0 root@bletchley:~# busctl tree xyz.openbmc_project.State.Chassis0 `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/state `-/xyz/openbmc_project/state/chassis0 root@bletchley:~# busctl tree xyz.openbmc_project.State.Chassis1 `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/state `-/xyz/openbmc_project/state/chassis1 ......
patch dependencies: https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-state-manager/+/51465
Signed-off-by: Potin Lai <potin.lai@quantatw.com> Change-Id: I2ce3e9ab2c95a2688143f4e3775da164a5c33c19
show more ...
|
#
79b45003 |
| 10-Feb-2022 |
Allen.Wang <Allen_Wang@quantatw.com> |
host-state-manager: Add multi-host support
Add support management multiple host state with multi process. Each process obtain a d-bus object for corresponding host.
TESTED : Built the openbmc image
host-state-manager: Add multi-host support
Add support management multiple host state with multi process. Each process obtain a d-bus object for corresponding host.
TESTED : Built the openbmc image for Facebook Bletchley hardware. Verified Host State buses/objects created successfully
root@bletchley:~# busctl tree xyz.openbmc_project.State.Host1 └─/xyz └─/xyz/openbmc_project └─/xyz/openbmc_project/state └─/xyz/openbmc_project/state/host1 root@bletchley:~# busctl tree xyz.openbmc_project.State.Host2 └─/xyz └─/xyz/openbmc_project └─/xyz/openbmc_project/state └─/xyz/openbmc_project/state/host2 ...
Built with host id 0 : expose both Host and Host0 name to keep backwards compatibility. 'busctl |grep xyz.openbmc_project.State.Host' ... xyz.openbmc_project.State.Host 8398 phosphor-host-s root :1.212 xyz.openbmc_project.State.Host@0.service xyz.openbmc_project.State.Host0 8398 phosphor-host-s root :1.212 xyz.openbmc_project.State.Host@0.service ...
Signed-off-by: Allen.Wang <Allen_Wang@quantatw.com> Change-Id: Ie18007122a5df9e33f387e691eaa9979ce18ed0e
show more ...
|
#
378fe11d |
| 03-Feb-2022 |
Andrew Geissler <geissonator@yahoo.com> |
ups: do not power on if power status is bad
This will be a configurable feature that people can bring in via an optional package within the phosphor-state-manager recipe.
Tested: - Set CurrentPower
ups: do not power on if power status is bad
This will be a configurable feature that people can bring in via an optional package within the phosphor-state-manager recipe.
Tested: - Set CurrentPowerStatus to Good and verified app returned 0 with success log - Set CurrentPowerStatus to UninterruptiblePowerSupply and verified error was logged and non-zero rc was returned - Built full flash image and verified expected behavior in simulation
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I0fd5dc43b4476fd99f07d79169a71d102bb065e8
show more ...
|
#
5f8e04a6 |
| 12-Aug-2021 |
Andrew Geissler <geissonator@yahoo.com> |
bmc-reset: add service to launch new host recovery
Tested: - Verified it does not run if chassis power is off - Verified it runs but does nothing when chassis power is on but BootProgress is Undef
bmc-reset: add service to launch new host recovery
Tested: - Verified it does not run if chassis power is off - Verified it runs but does nothing when chassis power is on but BootProgress is Undefined - Verified it logged error and started recovery when chassis power was on and BootProgress was not Undefined
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I191a318e637eaee2201aabcef59bf698de860707
show more ...
|
#
0d1c3f1f |
| 27-Jul-2021 |
Andrew Geissler <geissonator@yahoo.com> |
host-check: discover host state within state manager
Currently the phosphor-host-state-manager is started before the logic has run to detect if the host is already running. This results in phosphor-
host-check: discover host state within state manager
Currently the phosphor-host-state-manager is started before the logic has run to detect if the host is already running. This results in phosphor-host-state-manager temporarily reporting that the host is not running, even if it actually is. This can cause confusion for clients monitoring this property.
The solution is to move the logic which discovers if the host is running into phosphor-host-state-manager. Having the logic to do this in a separate application was a nice separation of concerns but when the requirement is a co-req, best to just combine them.
This change results in the phosphor-host-state-manager service starting later in the boot to BMC Ready but testing has shown no impacts to overall time to reach BMC Ready or impacts to other services.
As a part of this change, the phosphor-reset-sensor-states service was moved out of the obmc-host-reset target to ensure it and the phosphor-host-state-manager service have the correct dependency between them. The phosphor-host-state-manager service now ensures it runs after the pldm and ipmi services if they are being started (they are utilized to check if the host is running).
Testing: - Chassis On, Host On Jul 30 14:40:37 rainxxx phosphor-host-state-manager[696]: Check if host is running Jul 30 14:40:39 rainxxx phosphor-host-state-manager[696]: Host is running! Jul 30 14:40:39 rainxxx phosphor-host-state-manager[696]: Initial Host State will be Running
- Chassis Off, Host Off Jul 30 14:55:17 rainxxx phosphor-host-state-manager[710]: Check if host is running Jul 30 14:55:17 rainxxx phosphor-host-state-manager[710]: Chassis power not on, exit Jul 30 14:55:17 rainxxx phosphor-host-state-manager[710]: Initial Host State will be Off
- Chassis On, Host Off Jul 30 14:57:11 rainxxx phosphor-host-state-manager[1193]: Check if host is running Jul 30 14:57:18 rainxxx phosphor-host-state-manager[1193]: Host is not running! Jul 30 14:57:18 rainxxx phosphor-host-state-manager[1193]: Initial Host State will be Off
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I938902f526fba2f857be4b21b01149f8250b972d
show more ...
|
#
fe270d35 |
| 27-Jan-2021 |
Andrew Geissler <geissonator@yahoo.com> |
hypervisor: state management support
Some systems have a hypervisor firmware stack which they wish to track and change the state of. This new state management object will provide this function if a
hypervisor: state management support
Some systems have a hypervisor firmware stack which they wish to track and change the state of. This new state management object will provide this function if a user selects to bring it into their system.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I6082c6e06c6731d71f2e580e1ab87af38917bb3a
show more ...
|
#
1e8b164f |
| 05-Jan-2021 |
Andrew Geissler <geissonator@yahoo.com> |
host state transitioning support
The following commit has some relevant background: https://github.com/openbmc/phosphor-dbus-interfaces/commit/9f65dfeaa5ab22cae03db45c9916868da9864f83
The new servi
host state transitioning support
The following commit has some relevant background: https://github.com/openbmc/phosphor-dbus-interfaces/commit/9f65dfeaa5ab22cae03db45c9916868da9864f83
The new services introduced in this commit will set these new transition states. They will work together with the existing state-manager infrastructure in that the new services will set the transitions when the targets start and the current software which looks for the targets to complete will update the state to the official Running/Off.
But why not just have the existing software that monitors for the targets to complete also monitor for them to start? This was a long and dark hole I went down for a while. In the end, systemd D-Bus signals do not provide enough information on target starts. The signals let you know that "something" is going to happen to the target you're interested in, but not the details. For example, if you start the obmc-host-start@.target, you get two systemd notifications that indicate "something" is going to happen to obmc-host-start@.target and also that "something" is going to happen to obmc-host-stop@.target. This is because when one target starts, it stops the other. Since they are both just queued for "something" there's no mechanism to interrogate them for which one is doing what. I tried a lot of different things here but just couldn't get anything that covered all paths. The maintainers of systemd have indicated on their mailing list that they are not interested in enhancing the signal data because they feel like it would be a rat hole of never ending data getting added to it.
Tested: - Built into an image and verified CurrentHostState changed as expected doing a host on, off, and reboot.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Id2e9bd0394fc71944d26ce4bd40b136acf82b5e4
show more ...
|
#
d9b527b6 |
| 23-Oct-2020 |
Andrew Geissler <geissonator@yahoo.com> |
autoreboot: clear one time properties on chassis off
The one-time properties are only meant to last for one boot so ensure they are reset when the chassis is powered off.
Tested: root@witherspoon:/
autoreboot: clear one time properties on chassis off
The one-time properties are only meant to last for one boot so ensure they are reset when the chassis is powered off.
Tested: root@witherspoon:/lib/systemd/system# busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/control/host0/auto_reboot/one_time xyz.openbmc_project.Control.Boot.RebootPolicy AutoReboot b false root@witherspoon:/lib/systemd/system# busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/control/host0/auto_reboot/one_time xyz.openbmc_project.Control.Boot.RebootPolicy AutoReboot b false root@witherspoon:/lib/systemd/system# systemctl start obmc-chassis-poweroff\@0.target root@witherspoon:/lib/systemd/system# busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/control/host0/auto_reboot/one_time xyz.openbmc_project.Control.Boot.RebootPolicy AutoReboot b true
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Iece9b7b6027659c550aa5bbf367d253aba4a5634
show more ...
|
#
f304820b |
| 11-Mar-2020 |
Carol Wang <wangkair@cn.ibm.com> |
sched-host-tran: implement systemd service
Add service file to implement systemd service.
Change-Id: I6ccaad26d5fd6ad5ef6f39b901704835a9a918d3 Signed-off-by: Carol Wang <wangkair@cn.ibm.com>
|
#
c212353d |
| 14-Jan-2020 |
Andrew Geissler <geissonator@yahoo.com> |
move state manager service files into its repo
OpenBMC is moving towards individual repos hosting and maintaining their own service files. This allows the corresponding maintainer more control over
move state manager service files into its repo
OpenBMC is moving towards individual repos hosting and maintaining their own service files. This allows the corresponding maintainer more control over their service file and removes the meta-* layer maintainer from needing to be involved.
Once this is merged, its bump will need to be combined with a change in the meta-phosphor layer that removes the service files.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ib9ebfb16e131bc2743b3fc9fcfdfb7370f455f8f
show more ...
|
#
179d38c2 |
| 10-Dec-2019 |
Andrew Geissler <geissonator@yahoo.com> |
meson: add in service file support
meson requires just the normal service file name so create a copy of it for now. A future commit will remove the automake required .in version.
Signed-off-by: And
meson: add in service file support
meson requires just the normal service file name so create a copy of it for now. A future commit will remove the automake required .in version.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I6cb6998716c4e21eb948b8fdf934d538aac017d1
show more ...
|