| commit | 0e7de46f9b6365bad4e79a3933112750c5bf7853 | [log] [tgz] |
|---|---|---|
| author | Andrew Geissler <geissonator@yahoo.com> | Mon Mar 04 19:11:54 2019 -0600 |
| committer | Ed Tanous <ed.tanous@intel.com> | Wed Apr 10 21:42:09 2019 +0000 |
| tree | 7dc54d68dfaec9639b5e16f537ff7f648f043599 | |
| parent | 87d847298c57168b1af9bc8bbf201073ef3e76fe [diff] |
fw-update: Support host image update
Per the Redfish schema for the UpdateService, it supports all
SoftwareInventory targets. On OpenBMC this is currently the BMC and the
Host (BIOS) firmware.
Introduced a new fwUpdateInProgress static variable so that the signal
subscription could be disabled once the required interface was added.
This prevented multiple call backs and multiple activations of the same
image.
Tested: Verified that a host and BMC image update worked as expected on
a witherspoon system.
$ curl -k -H "X-Auth-Token: $TOKEN" -H "Content-Type: application/octet-stream" -X POST -T ./obmc-phosphor-image-witherspoon.ubi.mtd.tar https://${BMC_IP}/redfish/v1/UpdateService
{
"@Message.ExtendedInfo": [
{
"@odata.type": "/redfish/v1/$metadata#Message.v1_0_0.Message",
"Message": "Successfully Completed Request",
"MessageArgs": [],
"MessageId": "Base.1.4.0.Success",
"Resolution": "None",
"Severity": "OK"
}
]
}
Change-Id: I7bb9381f1b79bf65604464b628ef98646951d840
Signed-off-by: Andrew Geissler <geissonator@yahoo.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.The crow project has had a number of additions to make it more useful for use in the OpenBmc Project. A non-exhaustive list is below. At the time of this writing, the crow project is not accepting patches, so for the time being crow will simply be checked in as is.