| commit | 474bfad586d7fdaffb9899c839ce6c4ab153eb7c | [log] [tgz] |
|---|---|---|
| author | Santosh Puranik <santosh.puranik@in.ibm.com> | Tue Apr 02 16:00:09 2019 +0530 |
| committer | Ed Tanous <ed.tanous@intel.com> | Fri Apr 05 20:30:42 2019 +0000 |
| tree | 7f603bd028e9dfe52d028f4cb4c2930d9f49d536 | |
| parent | f85837bf66a635b816e92c2fdd47dd43851f02cd [diff] |
Add SerialConsole to Manager node
This commit adds SerialConsole property to the
response JSON when doing a GET on the manager resource.
The supported connection types are hard-coded.
Tested:
Performed a GET on the manager object to see the newly added
properties:
curl -k -H "X-Auth-Token: $bmc_token" -X GET
https://${bmc}:${port}/redfish/v1/Managers/bmc
{
"@odata.context": "/redfish/v1/$metadata#Manager.Manager",
"@odata.id": "/redfish/v1/Managers/bmc",
"@odata.type": "#Manager.v1_3_0.Manager",
....
....
"SerialConsole": {
"ConnectTypesSupported": [
"IPMI",
"SSH"
],
"ServiceEnabled": "true"
},
....
....
}
Ran Redfish service validator and ensured no new errors. The newly
added properties PASS validation. Snippet of the verbose output
from the validator:
....
....
Manager.v1_0_0.Manager:SerialConsole
value: OrderedDict([('ConnectTypesSupported', ['IPMI', 'SSH']),
('ServiceEnabled', True)]) <class 'collections.OrderedDict'>
has Type: Manager.v1_0_0.SerialConsole complex
is Optional
***going into Complex
Manager.v1_0_0.SerialConsole:ConnectTypesSupported
value: ['IPMI', 'SSH'] <class 'list'>
has Type: Collection(Manager.v1_0_0.SerialConnectTypesSupported) enum
is Optional
permission OData.Permission/Read
is Collection
Success
Success
Manager.v1_0_0.ManagerService:ServiceEnabled
value: True <class 'bool'>
has Type: Edm.Boolean Edm.Boolean
is Optional
permission OData.Permission/ReadWrite
Success
Manager.v1_0_0.ManagerService:MaxConcurrentSessions
value: n/a <class 'str'>
has Type: Edm.Int64 Edm.Int64
is Optional
prop Does not exist, skip...
***out of Complex
....
....
Change-Id: I659501d5537bfb3eedc8cd2204be98fee742324d
Signed-off-by: Santosh Puranik <santosh.puranik@in.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.