commit | 2df1e7db0277e661ab01f76258343d1ec2f0ae50 | [log] [tgz] |
---|---|---|
author | Matt Spinler <spinler@us.ibm.com> | Wed Dec 05 15:53:16 2018 -0600 |
committer | Ed Tanous <ed.tanous@intel.com> | Thu Dec 13 21:55:28 2018 +0000 |
tree | dff24706f9fc4c524a5f2e5fe391cf5a653461fc | |
parent | 3ae4ba7ba4f24462b55d1d5aa7846a2564b22d00 [diff] |
REST: For enumerate, try GetAll as last resort If there are no ObjectManager instances covering a path that came back from the GetSubTree call, the only other way to get that path's properties is by directly reading them. So, after all of the GetManagedObjects calls are done, on any of the paths that were in the GetSubTree results but not in the enumerate results, make a GetAll call to get the properties and add them to the output. The code knows when all of the asynchronous GetManagedObjects calls are done because it is called from the destructor of the InProgressEnumerateData struct which is passed to all of the other asio ops via a shared pointer. Tested: Run on paths that weren't in object managers, such as the physical LED objects. Change-Id: I5a62b9a0ee27a68127e6f216625ce93c9ac58d08 Signed-off-by: Matt Spinler <spinler@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 prime256v1
algorithm. The certificate
C=US, O=Intel BMC, 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.