Implement Redfish PCIeSlots schema
PCIeSlotCollection, and PCIeSlot schemas are used for determining
and inspecting the PCIe physical topology of a system. It is used to
determine what a particular physical slots formfactor is.
This commit supports the as documented in Redfish.md.
https://redfish.dmtf.org/schemas/PCIeSlots_v1.xml
Tested: Validator passes (on previous patchset)
1、Get PCIe slots
curl -k -H "X-Auth-Token: $token" -X GET
https://${bmc}/redfish/v1/Chassis/chassis/PCIeSlots
{
"@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots",
"@odata.type": "#PCIeSlots.v1_4_1.PCIeSlots",
"Id": "PCIeSlots",
"Name": "PCIe Slot Information",
"Slots": [
{
"HotPluggable": false,
"Lanes": 16,
"PCIeType": "Gen1",
"SlotType": "FullLength"
},
{
"HotPluggable": false,
"Lanes": 16,
"PCIeType": "Gen2",
"SlotType": "OEM"
}
]
}
2、No PCIeSlots
curl -k -H "X-Auth-Token: $token" -X GET
https://${bmc}/redfish/v1/Chassis/chassis/PCIeSlots
{
"@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots",
"@odata.type": "#PCIeSlots.v1_4_1.PCIeSlots",
"Id": "PCIeSlots",
"Name": "PCIe Slot Information",
"Slots": []
}
3、Bad chassis ID return 404
curl -k -H "X-Auth-Token: $token" -X GET
https://${bmc}/redfish/v1/Chassis/badChassisID/PCIeSlots
Returns 404 and ResourceNotFound
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com>
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I11e1bf94b3865986cbd580293ea906fe96067912
diff --git a/redfish-core/lib/pcie.hpp b/redfish-core/lib/pcie.hpp
index b4d6433..8437f50 100644
--- a/redfish-core/lib/pcie.hpp
+++ b/redfish-core/lib/pcie.hpp
@@ -129,9 +129,8 @@
{
return "Gen5";
}
- if (generationInUse.empty() ||
- generationInUse ==
- "xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations.Unknown")
+ if (generationInUse ==
+ "xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations.Unknown")
{
return "";
}