Andrew Geissler | 2477d9a | 2016-11-22 12:09:21 -0600 | [diff] [blame] | 1 | description: > |
| 2 | Implement to provide host state management |
| 3 | |
| 4 | properties: |
| 5 | - name: RequestedHostTransition |
| 6 | type: enum[self.Transition] |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 7 | default: "Off" |
Andrew Geissler | 2477d9a | 2016-11-22 12:09:21 -0600 | [diff] [blame] | 8 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 9 | The desired host transition. This will be preserved across AC power |
| 10 | cycles of the BMC. |
Andrew Geissler | abb61a0 | 2023-05-25 12:47:56 -0500 | [diff] [blame] | 11 | errors: |
| 12 | - xyz.openbmc_project.State.Host.Error.BMCNotReady |
Andrew Geissler | 637ea06 | 2024-01-18 14:08:52 -0600 | [diff] [blame] | 13 | - xyz.openbmc_project.Common.Error.NotAllowed |
Thang Tran | 57db6a1 | 2024-10-11 11:25:40 +0700 | [diff] [blame^] | 14 | - xyz.openbmc_project.Common.Error.Unavailable |
Andrew Geissler | 637ea06 | 2024-01-18 14:08:52 -0600 | [diff] [blame] | 15 | |
| 16 | - name: AllowedHostTransitions |
Patrick Williams | c6883fc | 2024-02-27 16:19:04 -0600 | [diff] [blame] | 17 | type: set[enum[self.Transition]] |
Andrew Geissler | 637ea06 | 2024-01-18 14:08:52 -0600 | [diff] [blame] | 18 | flags: |
| 19 | - const |
| 20 | description: > |
| 21 | A const property describing the allowed host transitions. Some systems |
| 22 | may not support all transitions so this property can be filled in with |
| 23 | only the supported transitions. If this property is empty then all are |
| 24 | supported. This list is valid from any CurrentHostState. |
Andrew Geissler | 2477d9a | 2016-11-22 12:09:21 -0600 | [diff] [blame] | 25 | |
| 26 | - name: CurrentHostState |
| 27 | type: enum[self.HostState] |
| 28 | description: > |
| 29 | A read-only property describing the current state of the host |
| 30 | firmware. A user can determine if a system is in transition by |
| 31 | comparing the CurrentHostState and the RequestedHostTransition |
| 32 | properties. |
| 33 | |
Vijay Khemka | 6bcf4ff | 2020-03-03 15:20:08 -0800 | [diff] [blame] | 34 | - name: RestartCause |
| 35 | type: enum[self.RestartCause] |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 36 | default: "Unknown" |
Vijay Khemka | 6bcf4ff | 2020-03-03 15:20:08 -0800 | [diff] [blame] | 37 | description: > |
| 38 | A property to define restart cause of a host. |
| 39 | |
Andrew Geissler | 2477d9a | 2016-11-22 12:09:21 -0600 | [diff] [blame] | 40 | enumerations: |
| 41 | - name: Transition |
| 42 | description: > |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 43 | The desired transition for host firmware |
Andrew Geissler | 2477d9a | 2016-11-22 12:09:21 -0600 | [diff] [blame] | 44 | values: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 45 | - name: "Off" |
| 46 | description: > |
| 47 | Host firmware should be off |
| 48 | - name: "On" |
| 49 | description: > |
| 50 | Host firmware should be on |
| 51 | - name: "Reboot" |
| 52 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 53 | Host firmware should be rebooted. Chassis power will be cycled |
| 54 | from off to on during this reboot |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 55 | - name: "GracefulWarmReboot" |
| 56 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 57 | Host firmware be will notified to shutdown and once complete, |
| 58 | the host firmware will be rebooted. Chassis power will remain on |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 59 | throughout the reboot |
| 60 | - name: "ForceWarmReboot" |
| 61 | description: > |
| 62 | Host firmware will be rebooted without notification and chassis |
| 63 | power will remain on throughout the reboot |
Andrew Geissler | 2477d9a | 2016-11-22 12:09:21 -0600 | [diff] [blame] | 64 | |
| 65 | - name: HostState |
| 66 | description: > |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 67 | The current state of the host firmware |
Andrew Geissler | 2477d9a | 2016-11-22 12:09:21 -0600 | [diff] [blame] | 68 | values: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 69 | - name: "Off" |
| 70 | description: > |
| 71 | Host firmware is not running |
| 72 | - name: "TransitioningToOff" |
| 73 | description: > |
| 74 | Host firmware is transitioning to an Off state |
| 75 | - name: "Standby" |
| 76 | description: > |
| 77 | Host firmware is in a standby state. It is awaiting a Transition |
| 78 | request to On to move to Running. This is an intermediate state |
| 79 | that some implementations of this object may move to between Off |
| 80 | and Running. |
| 81 | - name: "Running" |
| 82 | description: > |
| 83 | Host firmware is running |
| 84 | - name: "TransitioningToRunning" |
| 85 | description: > |
| 86 | Host firmware is transitioning to a Running state |
| 87 | - name: "Quiesced" |
| 88 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 89 | Host firmware is quiesced. The host firmware is enabled but |
| 90 | either unresponsive or only processing a restricted set of |
| 91 | commands. This state can be a result of the host entering an |
| 92 | error state or booting into a BIOS setup environment. The |
| 93 | BootProgress property will provide details on which it is. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 94 | - name: "DiagnosticMode" |
| 95 | description: > |
| 96 | Host firmware is capturing debug information. Powering off your |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 97 | system while the host is in this state will prevent the debug |
| 98 | data from being properly collected. The host will move to one of |
| 99 | the other states once complete. |
Vijay Khemka | 6bcf4ff | 2020-03-03 15:20:08 -0800 | [diff] [blame] | 100 | |
| 101 | - name: RestartCause |
| 102 | description: > |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 103 | The reason for host restart. |
Vijay Khemka | 6bcf4ff | 2020-03-03 15:20:08 -0800 | [diff] [blame] | 104 | values: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 105 | - name: "Unknown" |
| 106 | description: > |
| 107 | Reason Unknown |
| 108 | - name: "RemoteCommand" |
| 109 | description: > |
| 110 | Remote command issued |
| 111 | - name: "ResetButton" |
| 112 | description: > |
| 113 | Reset button pressed |
| 114 | - name: "PowerButton" |
| 115 | description: > |
| 116 | Power button pressed |
| 117 | - name: "WatchdogTimer" |
| 118 | description: > |
| 119 | Watchdog Timer expired |
| 120 | - name: "PowerPolicyAlwaysOn" |
| 121 | description: > |
| 122 | Power Policy Host Always on |
| 123 | - name: "PowerPolicyPreviousState" |
| 124 | description: > |
| 125 | Power Policy Previous State of Host |
| 126 | - name: "SoftReset" |
| 127 | description: > |
| 128 | Soft reset of Host |
| 129 | - name: "ScheduledPowerOn" |
| 130 | description: > |
| 131 | The restart was scheduled via the |
| 132 | xyz.openbmc_project.State.ScheduledHostTransition interface |
| 133 | - name: "HostCrash" |
| 134 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 135 | The host firmware crashed and the BMC has automatically |
| 136 | initiated a restart of the host firmware |
Patrick Williams | 855b46f | 2024-01-15 16:21:40 -0600 | [diff] [blame] | 137 | |
| 138 | paths: |
| 139 | - namespace: /xyz/openbmc_project/state |
| 140 | segments: |
| 141 | - name: Host |
| 142 | value: host |