State: Add BMC redundancy interface

Define an interface in support of redundant BMC functionality as
mentioned in the design doc
https://gerrit.openbmc.org/c/openbmc/docs/+/70233.  To start with, it
defines the Role and RedundancyEnabled properties.

With this usage one BMC is considered the active BMC, and the other is
the passive.  There will be a new application running on each BMC that
hosts this interface.

This implementation is not related to the one that uses the
xyz.openbmc_project.State.BMCRedundancy interface, of which there
doesn't appear to be any upstream uses of.

Change-Id: I6415175bbee03f6c07b14e1db1ee0082bd1724ed
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
3 files changed
tree: 97f9241c182a7298dc0bcb5de152e03faecc7252
  1. gen/
  2. registry/
  3. subprojects/
  4. yaml/
  5. .gitignore
  6. .markdownlint.yaml
  7. .prettierrc.yaml
  8. .shellcheck
  9. LICENSE
  10. meson.build
  11. meson.options
  12. OWNERS
  13. README.md
  14. requirements.md
README.md

phosphor-dbus-interfaces

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

Before defining a new D-Bus interface or modifying an existing one, please read through the documented set of the common requirements and expectations.

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 and org/freedesktop 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