commit | 7691cc2f7ef1f0ceedf3de0554045a614f25776d | [log] [tgz] |
---|---|---|
author | Chicago Duan <duanzhijia01@inspur.com> | Mon Jan 25 19:52:35 2021 +0800 |
committer | Ed Tanous <ed@tanous.net> | Fri Jun 17 14:51:35 2022 +0000 |
tree | 1e9b053f2c70fb1aee6f324888829c1aaa1cff28 | |
parent | 14bd7d9a82aa5302d57ff5ca29e933148ddff330 [diff] |
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
This component attempts to be a "do everything" embedded webserver for openbmc.
At this time, the webserver implements a few interfaces:
BMCWeb is configured by setting -D
flags that correspond to options in bmcweb/meson_options.txt
and then compiling. For example, meson <builddir> -Dkvm=disabled ...
followed by ninja
in build directory. The option names become C++ preprocessor symbols that control which code is compiled into the program.
meson builddir ninja -C builddir
meson builddir -Dbuildtype=minsize -Db_lto=true -Dtests=disabled ninja -C buildir
If any of the dependencies are not found on the host system during configuration, meson automatically gets them via its wrap dependencies mentioned in bmcweb/subprojects
.
meson builddir -Dwrap_mode=nofallback ninja -C builddir
meson builddir -Dbuildtype=debug ninja -C builddir
meson builddir -Db_coverage=true -Dtests=enabled ninja -C builddir test ninja -C builddir coverage
When BMCWeb starts running, it reads persistent configuration data (such as UUID and session data) from a local file. If this is not usable, it generates a new configuration.
When BMCWeb SSL support is enabled and a usable certificate is not found, it will generate a self-sign a certificate before launching the server. The keys are generated by the secp384r1
algorithm. The certificate
C=US, O=OpenBMC, CN=testhost
,SHA-256
algorithm.