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