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