commit | f86bb901bf02b65ed25bc4545aaebe0f4dc891b3 | [log] [tgz] |
---|---|---|
author | Adriana Kobylak <anoo@us.ibm.com> | Mon Jan 11 11:11:05 2021 -0600 |
committer | Ed Tanous <ed@tanous.net> | Fri Apr 02 18:15:08 2021 +0000 |
tree | 3a88365b48a88cc338b88d6171ebec1c65fba556 | |
parent | a8c4ce95bd2f4fee4544a57ed86ace3e257c9f24 [diff] |
log_services: Add AdditionalDataURI to log entries The File Path property was added to the DBus Event Log Entries with https://github.com/openbmc/phosphor-logging/commit/1ff95efecaf24bf296b291ed85798b6e22189d0f The Path was added to indicate the path to the Entry file and that the file could be offloaded out of the BMC. Check if the Path property exists, and if so add an AdditionalDataURI field to the EventLog redfish output and populate it with string "LogServices/EventLog/attachment/id" in the same fashion as the dump URI entry. An implementation of GET on that path is done in a subsequent commit. The new Path property is located under the xyz.openbmc_project.Common.FilePath interface. The rest of the current properties are under the xyz.openbmc_project.Logging.Entry interface. In order to read the Path property for an individual entry (endpoint Entries/<str>/), need to remove the Entry interface from the GetAll call so that all properties from all interfaces are returned. In order to get the Path property when querying all entries (endpoint Entries/), need to query the properties under the Entry and FilePath interface, then build the json response for that entry. Tested: - Ran Redfish validator - Verified the new AdditionalDataURI was correct for both LogServices/EventLog/Entries and LogServices/EventLog/Entries/<str>: $ curl -k -H "X-Auth-Token: $token" \ https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/Entries/7 { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/7", "@odata.type": "#LogEntry.v1_8_0.LogEntry", "AdditionalDataURI": "/redfish/v1/Systems/system/LogServices/EventLog/attachment/7", - Verified that AdditionalDataURI is not added if the Path property doesn't exist. Change-Id: Ib82361bae19a99e74d53f4ab5c4b446d277f0937 Signed-off-by: Adriana Kobylak <anoo@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/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 -Db_coverage=true -Dtests=enabled ninja coverage -C builddir test
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.