blob: ff1a22873c05b900bd139d6541d74becf04beca4 [file] [log] [blame]
Josh Kingd7d237b2016-11-24 14:54:35 -06001description: >
Patrick Williams8da396c2022-03-14 14:21:02 -05002 Implementation of BMC state management. When rebooting we are in
3 transition. When Ready all services required are running
Patrick Williamsa1347412022-12-06 10:56:22 -06004 successfully. When we are Not Ready this implies not all services have
5 started that are required to be.
Josh Kingd7d237b2016-11-24 14:54:35 -06006
7properties:
Patrick Williams8da396c2022-03-14 14:21:02 -05008 - name: RequestedBMCTransition
9 type: enum[self.Transition]
10 default: "None"
11 description: >
12 The desired BMC transition
Thang Tran57db6a12024-10-11 11:25:40 +070013 errors:
14 - xyz.openbmc_project.Common.Error.Unavailable
Josh Kingd7d237b2016-11-24 14:54:35 -060015
Patrick Williams8da396c2022-03-14 14:21:02 -050016 - name: CurrentBMCState
17 type: enum[self.BMCState]
18 description: >
19 The current state of the BMC and is a read-only property.
Josh Kingd7d237b2016-11-24 14:54:35 -060020
Patrick Williams8da396c2022-03-14 14:21:02 -050021 - name: LastRebootTime
22 type: uint64
23 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060024 The last time at which the BMC came out of a reboot as determined by
25 its uptime, in epoch time, in milliseconds.
Matt Spinler7b1c2212018-07-11 10:27:47 -050026
Patrick Williams8da396c2022-03-14 14:21:02 -050027 - name: LastRebootCause
28 type: enum[self.RebootCause]
29 default: "Unknown"
30 description: >
31 The last BMC reboot cause
Tim Lee2a4da802021-08-04 09:52:47 +080032
Josh Kingd7d237b2016-11-24 14:54:35 -060033enumerations:
Patrick Williams8da396c2022-03-14 14:21:02 -050034 - name: Transition
35 description: >
36 The desired transition for the BMC firmware
37 values:
38 - name: "Reboot"
39 description: >
40 BMC system should be rebooted
41 - name: "HardReboot"
42 description: >
43 BMC system should be non-gracefully rebooted.
44 - name: "None"
45 description: >
46 No transition is in progress
Josh Kingd7d237b2016-11-24 14:54:35 -060047
Patrick Williams8da396c2022-03-14 14:21:02 -050048 - name: BMCState
49 description: >
50 The current state of the BMC firmware
51 values:
52 - name: "Ready"
53 description: >
54 Ready implies all services started and are running successfully
55 - name: "NotReady"
56 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060057 Not ready implies not all services have started or are not
58 running successfully
Patrick Williams8da396c2022-03-14 14:21:02 -050059 - name: "UpdateInProgress"
60 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060061 UpdateInProgress implies BMC is in firmware update mode.
62 CurrentBMCState will be set to "UpdateInProgress" while starting
63 image download and reset to Ready, once activation is done or
64 error case during update process.
Patrick Williams8da396c2022-03-14 14:21:02 -050065 - name: "Quiesced"
66 description: >
67 BMC firmware is quiesced. The BMC firmware is enabled but either
Patrick Williamsa1347412022-12-06 10:56:22 -060068 unresponsive or only processing a restricted set of commands.
69 This state may be the result of a service within the BMC going
70 into a failed state.
Tim Lee2a4da802021-08-04 09:52:47 +080071
Patrick Williams8da396c2022-03-14 14:21:02 -050072 - name: RebootCause
73 description: >
74 The recorded reboot cause of the BMC
75 values:
76 - name: "POR"
77 description: >
78 Last reboot is caused by Power-On-Reset
79 - name: "PinholeReset"
80 description: >
81 Last reboot is caused by pinhole reset
82 - name: "Watchdog"
83 description: >
84 Last reboot is caused by Watchdog
Tim Lee5133c7b2024-09-05 10:02:34 +080085 - name: "Software"
86 description: >
87 Last reboot is caused by Software
Patrick Williams8da396c2022-03-14 14:21:02 -050088 - name: "Unknown"
89 description: >
90 Last reboot is caused by Unknown
Patrick Williams855b46f2024-01-15 16:21:40 -060091
92paths:
93 - namespace: /xyz/openbmc_project/state
94 segments:
95 - name: BMC
96 description: >
97 The object representing _this_ BMC is always at bmc0.
98 value: bmc0