| description: > |
| Implementation of BMC state management. When rebooting we are in |
| transition. When Ready all services required are running |
| successfully. When we are Not Ready this implies not all services have |
| started that are required to be. |
| |
| properties: |
| - name: RequestedBMCTransition |
| type: enum[self.Transition] |
| default: "None" |
| description: > |
| The desired BMC transition |
| |
| - name: CurrentBMCState |
| type: enum[self.BMCState] |
| description: > |
| The current state of the BMC and is a read-only property. |
| |
| - name: LastRebootTime |
| type: uint64 |
| description: > |
| The last time at which the BMC came out of a reboot as determined by |
| its uptime, in epoch time, in milliseconds. |
| |
| - name: LastRebootCause |
| type: enum[self.RebootCause] |
| default: "Unknown" |
| description: > |
| The last BMC reboot cause |
| |
| enumerations: |
| - name: Transition |
| description: > |
| The desired transition for the BMC firmware |
| values: |
| - name: "Reboot" |
| description: > |
| BMC system should be rebooted |
| - name: "HardReboot" |
| description: > |
| BMC system should be non-gracefully rebooted. |
| - name: "None" |
| description: > |
| No transition is in progress |
| |
| - name: BMCState |
| description: > |
| The current state of the BMC firmware |
| values: |
| - name: "Ready" |
| description: > |
| Ready implies all services started and are running successfully |
| - name: "NotReady" |
| description: > |
| Not ready implies not all services have started or are not |
| running successfully |
| - name: "UpdateInProgress" |
| description: > |
| UpdateInProgress implies BMC is in firmware update mode. |
| CurrentBMCState will be set to "UpdateInProgress" while starting |
| image download and reset to Ready, once activation is done or |
| error case during update process. |
| - name: "Quiesced" |
| description: > |
| BMC firmware is quiesced. The BMC firmware is enabled but either |
| unresponsive or only processing a restricted set of commands. |
| This state may be the result of a service within the BMC going |
| into a failed state. |
| |
| - name: RebootCause |
| description: > |
| The recorded reboot cause of the BMC |
| values: |
| - name: "POR" |
| description: > |
| Last reboot is caused by Power-On-Reset |
| - name: "PinholeReset" |
| description: > |
| Last reboot is caused by pinhole reset |
| - name: "Watchdog" |
| description: > |
| Last reboot is caused by Watchdog |
| - name: "Unknown" |
| description: > |
| Last reboot is caused by Unknown |
| |
| paths: |
| - namespace: /xyz/openbmc_project/state |
| segments: |
| - name: BMC |
| description: > |
| The object representing _this_ BMC is always at bmc0. |
| value: bmc0 |