commit | 462295771281bbd9901c688b8684b6c6930322c3 | [log] [tgz] |
---|---|---|
author | James Feist <james.feist@linux.intel.com> | Wed Feb 19 15:11:58 2020 -0800 |
committer | James Feist <james.feist@linux.intel.com> | Mon Mar 02 16:56:00 2020 +0000 |
tree | a69b887604c11311d51b46d22beff00b2cb627bf | |
parent | f723d7332bbdd7b0d4fbe4aa730b63dfd8db7eff [diff] |
Add TaskService This adds tasks service to Redfish and creates an example for crashdump. The TaskData object creates tasks that can be updated based on d-bus matches. It also has a configurable timeout using timers. Task Monitor uses these task objects to reply with a 202 until the async task is done, then a 204 when it is either failed or completed. Messages support will come in future commit. Tested: Validator passed, wrote script to poll monitor, verified that got 202 with location header and retry-after set correctly, then 204, then 404. Change-Id: I109e671baa1c1eeff1a11ae578e7361bf6ef9f14 Signed-off-by: James Feist <james.feist@linux.intel.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 prime256v1
algorithm. The certificate
C=US, O=OpenBMC, CN=testhost
,SHA-256
algorithm.