1description: > 2 Implementation of BMC state management. When rebooting we are in 3 transition. When Ready all services required are running 4 successfully. When we are Not Ready this implies not all services have 5 started that are required to be. 6 7properties: 8 - name: RequestedBMCTransition 9 type: enum[self.Transition] 10 default: "None" 11 description: > 12 The desired BMC transition 13 errors: 14 - xyz.openbmc_project.Common.Error.Unavailable 15 16 - name: CurrentBMCState 17 type: enum[self.BMCState] 18 description: > 19 The current state of the BMC and is a read-only property. 20 21 - name: LastRebootTime 22 type: uint64 23 description: > 24 The last time at which the BMC came out of a reboot as determined by 25 its uptime, in epoch time, in milliseconds. 26 27 - name: LastRebootCause 28 type: enum[self.RebootCause] 29 default: "Unknown" 30 description: > 31 The last BMC reboot cause 32 33enumerations: 34 - 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 47 48 - 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: > 57 Not ready implies not all services have started or are not 58 running successfully 59 - name: "UpdateInProgress" 60 description: > 61 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. 65 - name: "Quiesced" 66 description: > 67 BMC firmware is quiesced. The BMC firmware is enabled but either 68 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. 71 72 - 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 85 - name: "Software" 86 description: > 87 Last reboot is caused by Software 88 - name: "Unknown" 89 description: > 90 Last reboot is caused by Unknown 91 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 99