commit | a778c0261282b95e14ea3f4406959638b5edb040 | [log] [tgz] |
---|---|---|
author | Gunnar Mills <gmills@us.ibm.com> | Tue May 12 12:20:36 2020 -0500 |
committer | Gunnar Mills <gmills@us.ibm.com> | Tue May 19 23:52:43 2020 +0000 |
tree | 0d71e1b70943e2326c504ee12feca242ef273f52 | |
parent | 3bf4e63296f0b69201904b03b2470543a7e0c627 [diff] |
Move to 2020.1 Make changes to update_schemas.py needed for the move and run update_schemas.py. Need 1.3.6 or later version of Redfish-Service-Validator. CI uses the master branch of Redfish-Service-Validator, which has this fix. Redfish-Service-Validators before 1.3.6 will incorrectly throw errors in message registries like (Task Event Message Registry) /redfish/v1/Registries/TaskEvent/TaskEvent and (Base Message Registry) /redfish/v1/Registries/Base/Base. For more information: https://redfishforum.com/thread/323/validator-errors-when-moving-release This does introduce some "warnDeprecated" due to "Severity" becoming Deprecated in MessageRegistry v1_4_0. Since all bmcweb Registries are <v1_4_0, not a real problem. Redfish has no Base Message Registry and Task Event Message Registry available to move to something that uses MessageRegistry v1_4_0. Will take up with Redfish. 2020.1 includes new features like AutoRebot (Boot -> AutomaticRetry), factory reset (ResetToDefaults action), and Modified Event Log property which are in OpenBMC's D-Bus interfaces today. Tested: Built bmcweb, loaded on a Witherspoon, and ran the validator. Validator passed. See new schemas: curl -k https://${bmc}/redfish/v1/JsonSchemas/SecureBootDatabase { "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile", "@odata.id": "/redfish/v1/JsonSchemas/SecureBootDatabase", "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile", "Name": "SecureBootDatabase Schema File", Change-Id: If30fcc50276aea44d8a77ed547ee0cbd72e4cf1a 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.