State: Drive: Update the State interface for Drive

The State interface will have the state of the Drive and transition
states.

Added RequestedDriveTransition, DriveState, and LastRebootTime
based off xyz.openbmc_project.State.BMC.

The RequestedDriveTransition allow actions like reset and powercycles.
For systems that does not support it, it is defaulted to `NotSupported`.

The current DriveState provides different available state the drive can
be in. The `UpdateInProgress` in DriveState can be used to replace
the current `Rebuilding`.

Required:
https://gerrit.openbmc-project.xyz/c/openbmc/sdbusplus/+/45142
for sdbusplus maxint uint64 support.

Change-Id: I5350de29554a0a0a41307f1f009d942135471abe
Signed-off-by: Willy Tu <wltu@google.com>
1 file changed
tree: 54dde7deb2f395b550be74e3daef0c80d092e60e
  1. gen/
  2. subprojects/
  3. yaml/
  4. .gitignore
  5. .shellcheck
  6. LICENSE
  7. MAINTAINERS
  8. meson.build
  9. meson_options.txt
  10. README.md
README.md

phosphor-dbus-interfaces

YAML descriptors of standard D-Bus interfaces. The format is described by the sdbusplus binding generation tool sdbus++.

Building

This project can be built with meson. The typical meson workflow is: meson builddir && ninja -C builddir.

The meson files used to handle the YAML files are automatically generated and found under the gen subdirectory. When adding or removing YAML files, this must be regenerated. This can be done with the helper script found in the gen subdirectory: cd gen && ./regenerate-meson.

Configuration

Only the xyz/openbmc_project interfaces are built by default. Other interfaces can be enabled by meson options:

  • com/ibm - -Ddata_com_ibm=true
  • org/open_power - -Ddata_org_open_power=true

Example: meson builddir -Ddata_com_ibm=true && ninja -C builddir

References