From a948d268ffed67381d75fe17607fd84ecb498e8b Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Wed, 5 Oct 2016 19:51:48 -0400 Subject: Add inventory interfaces for OpenBMC A first pass at a machine parseable DBus specification for the inventory features of OpenBMC. Change-Id: Ia061ab2d5c2ea9d06cd991940303250cef48ab66 Signed-off-by: Brad Bishop --- xyz/openbmc_project/Inventory/Item.interface.yaml | 14 +++++++++++++ .../Inventory/Item/Asset.interface.yaml | 17 +++++++++++++++ .../Inventory/Item/Cacheable.interface.yaml | 10 +++++++++ .../Inventory/Item/Cpu.interface.yaml | 4 ++++ .../Inventory/Item/CpuCore.interface.yaml | 4 ++++ .../Inventory/Item/Dimm.interface.yaml | 4 ++++ .../Inventory/Item/Fan.interface.yaml | 4 ++++ .../Inventory/Item/PowerSupply.interface.yaml | 4 ++++ .../Inventory/Item/Replaceable.interface.yaml | 9 ++++++++ .../Inventory/Item/Revision.interface.yaml | 9 ++++++++ .../Inventory/Manager.interface.yaml | 24 ++++++++++++++++++++++ 11 files changed, 103 insertions(+) create mode 100644 xyz/openbmc_project/Inventory/Item.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/Asset.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/Cacheable.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/Cpu.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/CpuCore.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/Fan.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/PowerSupply.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/Replaceable.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Item/Revision.interface.yaml create mode 100644 xyz/openbmc_project/Inventory/Manager.interface.yaml diff --git a/xyz/openbmc_project/Inventory/Item.interface.yaml b/xyz/openbmc_project/Inventory/Item.interface.yaml new file mode 100644 index 0000000..dfae631 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item.interface.yaml @@ -0,0 +1,14 @@ +description: > + Implement to provide basic item attributes. Required by all objects + within the inventory namespace. +properties: + - name: PrettyName + type: s + description: > + The human readable name of the item. + - name: Present + type: b + description: > + Whether or not the item is present. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/Asset.interface.yaml b/xyz/openbmc_project/Inventory/Item/Asset.interface.yaml new file mode 100644 index 0000000..96f1837 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/Asset.interface.yaml @@ -0,0 +1,17 @@ +description: > + Implement to provide item physical asset attributes. +properties: + - name: PartNumber + type: s + description: > + The item part number. + - name: SerialNumber + type: s + description: > + The item serial number. + - name: Manufacturer + type: s + description: > + The item manufacturer. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/Cacheable.interface.yaml b/xyz/openbmc_project/Inventory/Item/Cacheable.interface.yaml new file mode 100644 index 0000000..210c132 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/Cacheable.interface.yaml @@ -0,0 +1,10 @@ +description: > + Implement to indicate item availability changes. +properties: + - name: Cached + type: b + description: > + Whether or not the item is cached. When true, the item + and its remaining attributes are undefined. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/Cpu.interface.yaml b/xyz/openbmc_project/Inventory/Item/Cpu.interface.yaml new file mode 100644 index 0000000..ab29cf3 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/Cpu.interface.yaml @@ -0,0 +1,4 @@ +description: > + Implement to provide CPU attributes. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/CpuCore.interface.yaml b/xyz/openbmc_project/Inventory/Item/CpuCore.interface.yaml new file mode 100644 index 0000000..90e6886 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/CpuCore.interface.yaml @@ -0,0 +1,4 @@ +description: > + Implement to provide CPU core attributes. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml b/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml new file mode 100644 index 0000000..d85326d --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml @@ -0,0 +1,4 @@ +description: > + Implement to provide DIMM attributes. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/Fan.interface.yaml b/xyz/openbmc_project/Inventory/Item/Fan.interface.yaml new file mode 100644 index 0000000..dccc519 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/Fan.interface.yaml @@ -0,0 +1,4 @@ +description: > + Implement to provide Fan attributes. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/PowerSupply.interface.yaml b/xyz/openbmc_project/Inventory/Item/PowerSupply.interface.yaml new file mode 100644 index 0000000..9cf016c --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/PowerSupply.interface.yaml @@ -0,0 +1,4 @@ +description: > + Implement to provide PowerSupply attributes. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/Replaceable.interface.yaml b/xyz/openbmc_project/Inventory/Item/Replaceable.interface.yaml new file mode 100644 index 0000000..7d461f0 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/Replaceable.interface.yaml @@ -0,0 +1,9 @@ +description: > + Implement to provide item replacement attributes. +properties: + - name: FieldReplaceable + type: b + description: > + Whether or not the item is field replaceable. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Item/Revision.interface.yaml b/xyz/openbmc_project/Inventory/Item/Revision.interface.yaml new file mode 100644 index 0000000..18a7637 --- /dev/null +++ b/xyz/openbmc_project/Inventory/Item/Revision.interface.yaml @@ -0,0 +1,9 @@ +description: > + Implement to provide item versioning attributes. +properties: + - name: Version + type: s + description: > + The item version. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/xyz/openbmc_project/Inventory/Manager.interface.yaml b/xyz/openbmc_project/Inventory/Manager.interface.yaml new file mode 100644 index 0000000..f5b235c --- /dev/null +++ b/xyz/openbmc_project/Inventory/Manager.interface.yaml @@ -0,0 +1,24 @@ +description: > + Implement to provide inventory management features. + + An OpenBMC implementation providing inventory functions may provide zero + or more implementations on the inventory namespace root. An implementing + service should additionally implement org.freedesktop.DBus.ObjectManager + on the inventory namespace root. +methods: + - name: Notify + description: > + Signal the implementing service that an item is ready to have its + state managed. + parameters: + - name: path + type: o + description: > + The path of the item to be managed, relative to the inventory + namespace root. + - name: object + type: a{sa{sv}} + description: > + The fully enumerated item to be managed. + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 -- cgit v1.2.1