commit | 8114bd4d9ba4b927ecd2c2eeb3fc0885f684ad25 | [log] [tgz] |
---|---|---|
author | Gunnar Mills <gmills@us.ibm.com> | Thu Jun 11 20:55:21 2020 -0500 |
committer | Gunnar Mills <gmills@us.ibm.com> | Thu Jun 11 21:55:17 2020 -0500 |
tree | 33bc7c899a8a75216b6241384e8cb4936c20214a | |
parent | 7f1538cc79b9613c6d5536c6e6951ee6372eabf3 [diff] |
ManagerAccount: Implement AccountTypes Seeing "ERROR - AccountTypes: Mandatory prop does not exist" validator fails. This should not be an error, because bmcweb is using ManagerAccount.v1_3_0 which doesn't have this property. The workaround (implement AccountTypes) improves the code, more information and easier later when moving to a later schema, so bump the ManagerAccount schema and Implement AccountTypes. Taking this issue forward with Redfish. Believe this was introduced in the following Validator commit: https://github.com/DMTF/Redfish-Service-Validator/commit/de71f0388bf85c920ae48deb6b16aed124f4f23b From https://redfish.dmtf.org/schemas/ManagerAccount.v1_6_0.json: "AccountTypes": { "description": "The account types.", "items": { "anyOf": [ { "$ref": "#/definitions/AccountTypes" }, ... "versionAdded": "v1_4_0" }, ... "required": [ "@odata.id", "@odata.type", "Id", "Name", "AccountTypes" ], ... "AccountTypes": { "enum": [ "Redfish", "SNMP", "OEM" ], "enumDescriptions": { "OEM": "OEM account type.", "Redfish": "Allow access to the Redfish Service.", "SNMP": "Allow access to SNMP services." }, "type": "string" Tested: Built and latest validator passes on a Witherspoon. curl -k https://${bmc}/redfish/v1/AccountService/Accounts/root { "@odata.id": "/redfish/v1/AccountService/Accounts/root", "@odata.type": "#ManagerAccount.v1_4_0.ManagerAccount", "AccountTypes": [ "Redfish" ], Change-Id: If48c4b8deb5f199f459858bb2c7469f0ebd44781 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
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/CMakeLists.txt
and then compiling. For example, cmake -DBMCWEB_ENABLE_KVM=NO ...
followed by make
. The option names become C++ preprocessor symbols that control which code is compiled into the program.
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.