add BMC node properties for modular node system

In modular node system, there are several nodes in
one chassis, and each node has its BMC. One node
BMC takes primary role, BMC in other nodes works as
secondary.
Both primary BMC and secondary BMC manage their local
node source, they are peer to peer. Sometimes, they
need to communicate each other, for example, primary
BMC needs to show all event log including secondary
node event log, so it's needed to identify primary
and secondary BMC role.
In order to keep the modular node information in
each BMC, it's needed to define DBUS properties
to indicate BMC nodes and BMC role for each BMC
node, then knows how many nodes in system and
what's its BMC role in each node.
The interface is:
"xyz.openbmc_project.State.BMCRedundancy"
And the object path is:
"/xyz/openbmc_project/State/BMCRedundancy"
The "Associations" object path is:
"/xyz/openbmc_project/State/BMCRedundancy/Contained"

Tested:
It's tested in a modular system with multi-BMC.

Change-Id: I2383a059503c7a59abc839a1109c656b20745087
Signed-off-by: Chen Yugang <yugang.chen@linux.intel.com>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
3 files changed
tree: 0905ba5264175ed51bc350c154dc02bf56eea41c
  1. com/
  2. gen/
  3. org/
  4. subprojects/
  5. xyz/
  6. .gitignore
  7. bootstrap.sh
  8. configure.ac
  9. generate_makefile.sh
  10. generate_yaml_makefile.sh
  11. LICENSE
  12. MAINTAINERS
  13. Makefile.am
  14. Makefile.interfaces.in
  15. Makefile.yaml.in
  16. meson.build
  17. meson_options.txt
  18. phosphor-dbus-interfaces.pc.in
  19. 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

References