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          - xyz.openbmc_project.Common.Error.Unavailable
15
16    - name: AllowedHostTransitions
17      type: set[enum[self.Transition]]
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.
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
34    - name: RestartCause
35      type: enum[self.RestartCause]
36      default: "Unknown"
37      description: >
38          A property to define restart cause of a host.
39
40enumerations:
41    - name: Transition
42      description: >
43          The desired transition for host firmware
44      values:
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: >
53                Host firmware should be rebooted. Chassis power will be cycled
54                from off to on during this reboot
55          - name: "GracefulWarmReboot"
56            description: >
57                Host firmware be will notified to shutdown and once complete,
58                the host firmware will be rebooted. Chassis power will remain on
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
64
65    - name: HostState
66      description: >
67          The current state of the host firmware
68      values:
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: >
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.
94          - name: "DiagnosticMode"
95            description: >
96                Host firmware is capturing debug information. Powering off your
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.
100
101    - name: RestartCause
102      description: >
103          The reason for host restart.
104      values:
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: >
135                The host firmware crashed and the BMC has automatically
136                initiated a restart of the host firmware
137
138paths:
139    - namespace: /xyz/openbmc_project/state
140      segments:
141          - name: Host
142            value: host
143