| description: > |
| Implement to provide drive state management. |
| |
| properties: |
| - name: Rebuilding |
| type: boolean |
| default: false |
| description: > |
| Describes if the drive is currently rebuilding. |
| - name: RequestedDriveTransition |
| type: enum[self.Transition] |
| default: "NotSupported" |
| description: > |
| The desired Drive transition |
| - name: CurrentDriveState |
| type: enum[self.DriveState] |
| default: "Unknown" |
| description: > |
| The current state of the Drive and is a read-only property. |
| flags: |
| - readonly |
| - name: LastRebootTime |
| type: uint64 |
| default: maxint |
| description: > |
| Time when the Drive last rebooted represented in EpochTime. |
| The time reference should be based on the BMC's time. |
| If not supported, it will be represented as maxint. |
| flags: |
| - readonly |
| |
| enumerations: |
| - name: Transition |
| description: > |
| The desired transition for the Drive |
| values: |
| - name: "Reboot" |
| description: > |
| The Drive should be rebooted. |
| - name: "HardReboot" |
| description: > |
| The Drive should be non-gracefully rebooted. |
| - name: "Powercycle" |
| description: > |
| The Drive should be powercycled. |
| - name: "None" |
| description: > |
| No transition is in progress. |
| - name: "NotSupported" |
| description: > |
| Transition request is not supported. |
| |
| - name: DriveState |
| description: > |
| The current state of the Drive |
| values: |
| - name: "Unknown" |
| description: > |
| The Drive State is unknown. |
| - name: "Ready" |
| description: > |
| Ready implies all services started and are running successfully |
| - name: "NotReady" |
| description: > |
| Not ready implies not all services have started or are not |
| running successfully |
| - name: "Offline" |
| description: > |
| The Drive is ready, but waiting for external action to enable it |
| - name: "Debug" |
| description: > |
| The Drive is ready and in debug mode. The functionalities might |
| be limited |
| - name: "UpdateInProgress" |
| description: > |
| UpdateInProgress implies the Drive is in firmware update mode. |
| Current DriveState will be set to "UpdateInProgress" while |
| starting firmware download and reset to "Ready", once activation |
| is done or error occurs during update process. |