summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/example.yaml221
-rw-r--r--scripts/writefru.mako.cpp13
2 files changed, 127 insertions, 107 deletions
diff --git a/scripts/example.yaml b/scripts/example.yaml
index 69d7ebd..d257d42 100644
--- a/scripts/example.yaml
+++ b/scripts/example.yaml
@@ -7,118 +7,133 @@
# Format of the YAML:
# Fruid:
# Associated Fru paths
-# d-bus Interafaces
+# d-bus Interfaces
# d-bus Properties
# IPMI Fru mapping
0:
/system:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Item.System:
+ entityID: 200
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Item.System:
1:
/system/chassis/motherboard/dimm0:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Item.Dimm:
+ entityID: 8
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Item.Dimm:
2:
/system/chassis/motherboard/dimm1:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Revision:
- Version:
- IPMIFruProperty: Version
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Item.Dimm:
+ entityID: 8
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Item.Dimm:
3:
/system/chassis/motherboard/cpu0:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item.Cpu:
+ entityID: 3
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item.Cpu:
4:
/system/chassis/motherboard/cpu1:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Product Name
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item.Cpu:
+ entityID: 3
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item.Cpu:
diff --git a/scripts/writefru.mako.cpp b/scripts/writefru.mako.cpp
index 0a0a14f..a3de4b5 100644
--- a/scripts/writefru.mako.cpp
+++ b/scripts/writefru.mako.cpp
@@ -6,17 +6,22 @@ extern const FruMap frus = {
% for key in fruDict.keys():
{${key},{
<%
- fru = fruDict[key]
+ instanceList = fruDict[key]
%>
- % for object,interfaces in fru.items():
- {"${object}",{
+ % for instancePath,instanceInfo in instanceList.items():
+<%
+ entityID = instanceInfo["entityID"]
+ entityInstance = instanceInfo["entityInstance"]
+ interfaces = instanceInfo["interfaces"]
+%>
+ {${entityID}, ${entityInstance}, "${instancePath}",{
% for interface,properties in interfaces.items():
{"${interface}",{
% if properties:
% for dbus_property,property_value in properties.items():
{"${dbus_property}",{
"${property_value.get("IPMIFruSection", "")}",
- "${property_value.get("IPMIFruProperty", "")}", \
+ "${property_value.get("IPMIFruProperty", "")}",\
<%
delimiter = property_value.get("IPMIFruValueDelimiter")
if not delimiter:
OpenPOWER on IntegriCloud