| #
a51fc2d2
|
| 14-Jul-2022 |
Sui Chen <suichen@google.com> |
Manager: add ManagerDiagnosticData handler
This change adds a link in the Manager for all BMCs to an empty ManagerDiagnosticData resource and a minimum ManagerDiagnosticData handler.
This service i
Manager: add ManagerDiagnosticData handler
This change adds a link in the Manager for all BMCs to an empty ManagerDiagnosticData resource and a minimum ManagerDiagnosticData handler.
This service is backed by phosphor-health-monitor (PHM), which is enabled by default through the "obmc-apps" package group. If PHM is disabled, the resource will be empty.
$ curl http://${bmc}:10080/redfish/v1/Managers/bmc/ManagerDiagnosticData { "@odata.id": "/redfish/v1/Managers/bmc/ManagerDiagnosticData", "@odata.type": "#ManagerDiagnosticData.v1_0_0.ManagerDiagnosticData", "Id": "ManagerDiagnosticData", "Name": "Manager Diagnostic Data" }
Also ran the Redfish Service Validator to make sure no new errors are introduced with the introduction of ManagerDiagnosticData.
Signed-off-by: Sui Chen <suichen@google.com> Change-Id: Iba242bc3b6ebec851dbd26e149d5c92c19a7992e
show more ...
|
| #
4e23a444
|
| 06-Jun-2022 |
Ed Tanous <edtanous@google.com> |
Require explicit decorator on one arg constructors
We essentially follow this rule already, not relying on implicit operators, although there are a number of cases where in theory we could've implic
Require explicit decorator on one arg constructors
We essentially follow this rule already, not relying on implicit operators, although there are a number of cases where in theory we could've implicitly constructed an object.
This commit enables the clang-tidy check.
Tested: Code compiles, passes clang-tidy.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ia428463313b075c69614fdb326e8c5c094e7adde
show more ...
|
| #
fdd26906
|
| 01-Mar-2022 |
Claire Weinan <cweinan@google.com> |
LogService: Add support for Fault Log
The corresponding log service is at /redfish/v1/Managers/bmc/LogServices/FaultLog
Fault Log is a new type of dump for aggregating fault data. For details pleas
LogService: Add support for Fault Log
The corresponding log service is at /redfish/v1/Managers/bmc/LogServices/FaultLog
Fault Log is a new type of dump for aggregating fault data. For details please see https://github.com/openbmc/docs/blob/master/designs/hw-fault-monitor.md
We're currently assuming we'll have a single Fault Log instance per BMC, which can support multiple host processors.
Tested: First enabled redfish-dump-log option
Fault Log showed up in the expected LogService collection: ./curl_bin -k -H "X-Auth-Token: $token" -X GET http://${bmc}/redfish/v1/Managers/bmc/LogServices/ { "@odata.id": "/redfish/v1/Managers/bmc/LogServices", "@odata.type": "#LogServiceCollection.LogServiceCollection", "Description": "Collection of LogServices for this Manager", "Members": [ { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/Journal" }, { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/Dump" }, { "@odata.id": "/redfish/v1/Managers/bmc/LogServices/FaultLog" } ], "Members@odata.count": 3, "Name": "Open BMC Log Services Collection" }
FaultLog dump entries are created when a fault is detected by a BMC daemon -- we don't support FaultLog dump entry creation requested by a Redfish client via the CollectDiagnosticData LogService action. Fault Log CollectDiagnosticData returned Not Found (HTTP error 404) as expected: $curl -k -H "X-Auth-Token: $token" -X POST http://${bmc}/redfish/v1/Managers/bmc/LogServices/FaultLog/Actions/LogService.CollectDiagnosticData -d '{"DiagnosticDataType":"Manager", "OEMDiagnosticDataType":"FaultLog"}' Not Found
Generated Fault Log dump entries via BMC console: busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/faultlog xyz.openbmc_project.Dump.Create CreateDump a{sv} 0
Retrieved Fault Log dump entries (including with query parameters top and skip): curl -k -H "X-Auth-Token: $token" -X GET http://${bmc}/redfish/v1/Managers/bmc/LogServices/FaultLog/Entries/1 curl -k -H "X-Auth-Token: $token" -X GET http://${bmc}/redfish/v1/Managers/bmc/LogServices/FaultLog/Entries curl -k -H "X-Auth-Token: $token" -X GET http://${bmc}/redfish/v1/Managers/bmc/LogServices/FaultLog/Entries?\$skip=2 curl -k -H "X-Auth-Token: $token" -X GET http://${bmc}/redfish/v1/Managers/bmc/LogServices/FaultLog/Entries?\$top=3
Deleted Fault Log dump entry: curl -k -H "X-Auth-Token: $token" -X DELETE http://${bmc}/redfish/v1/Managers/bmc/LogServices/FaultLog/Entries/1
Note: The following command to clear the Fault Log will not work until Fault Log entries have the required D-Bus interface implemented (xyz.openbmc_project.Dump.Entry.FaultLog): curl -k -H "X-Auth-Token: $token" -X POST http://${bmc}/redfish/v1/Managers/bmc/LogServices/FaultLog/Actions/LogService.ClearLog
Redfish Service Validator succeeded on the following URIs: /redfish/v1/Managers/bmc/LogServices /redfish/v1/Managers/bmc/LogServices/FaultLog /redfish/v1/Managers/bmc/LogServices/FaultLog/Entries
Also did cursory testing of BMC Dump (/redfish/v1/Managers/bmc/LogServices/Dump/) and System Dump (/redfish/v1/Systems/system/LogServices/Dump/) for code paths that were refactored.
Signed-off-by: Claire Weinan <cweinan@google.com> Change-Id: I80b5444e61263f79e89b10abd556d59af6f17c8c
show more ...
|
| #
e825cbc8
|
| 17-Jun-2022 |
Ed Tanous <edtanous@google.com> |
Revert "Implement Redfish PCIeSlots schema"
This reverts commit 7691cc2f7ef1f0ceedf3de0554045a614f25776d.
This causes validator failures ERROR - JsonSchemas: GET of resource at URI /redfish/v1/Json
Revert "Implement Redfish PCIeSlots schema"
This reverts commit 7691cc2f7ef1f0ceedf3de0554045a614f25776d.
This causes validator failures ERROR - JsonSchemas: GET of resource at URI /redfish/v1/JsonSchemas returned HTTP 404. Check URI. ERROR - PCIeSlots: GET of resource at URI /redfish/v1/Chassis/motherboard/PCIeSlots returned HTTP 404. Check URI. ERROR - PCIeSlots: GET of resource at URI /redfish/v1/Chassis/chassis/PCIeSlots returned HTTP 404. Check URI.
Change-Id: Ibcdf238a222da83127a89d8f38c8180501ffe882 Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
| #
7691cc2f
|
| 25-Jan-2021 |
Chicago Duan <duanzhijia01@inspur.com> |
Implement Redfish PCIeSlots schema
PCIeSlotCollection, and PCIeSlot schemas are used for determining and inspecting the PCIe physical topology of a system. It is used to determine what a particular
Implement Redfish PCIeSlots schema
PCIeSlotCollection, and PCIeSlot schemas are used for determining and inspecting the PCIe physical topology of a system. It is used to determine what a particular physical slots formfactor is.
This commit supports the as documented in Redfish.md.
https://redfish.dmtf.org/schemas/PCIeSlots_v1.xml
Tested: Validator passes (on previous patchset) 1、Get PCIe slots curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/PCIeSlots { "@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots", "@odata.type": "#PCIeSlots.v1_4_1.PCIeSlots", "Id": "PCIeSlots", "Name": "PCIe Slot Information", "Slots": [ { "HotPluggable": false, "Lanes": 16, "PCIeType": "Gen1", "SlotType": "FullLength" }, { "HotPluggable": false, "Lanes": 16, "PCIeType": "Gen2", "SlotType": "OEM" } ] }
2、No PCIeSlots curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/PCIeSlots { "@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots", "@odata.type": "#PCIeSlots.v1_4_1.PCIeSlots", "Id": "PCIeSlots", "Name": "PCIe Slot Information", "Slots": [] }
3、Bad chassis ID return 404 curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/badChassisID/PCIeSlots Returns 404 and ResourceNotFound
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I11e1bf94b3865986cbd580293ea906fe96067912
show more ...
|
| #
8c623a96
|
| 24-May-2022 |
Ed Tanous <edtanous@google.com> |
Handle redfish 404 with a good message
Not found 404 on redfish entries has always returned the generic, bmcweb core driven 404, that didn't include a message. This works most of the time, because
Handle redfish 404 with a good message
Not found 404 on redfish entries has always returned the generic, bmcweb core driven 404, that didn't include a message. This works most of the time, because most things have BMCWEB_ROUTE entries, but there's a whole class of routes that bmcweb doesn't implement, that should also return 404, with a resourceNotFound message.
This commit registers a generic /redfish/<path> route that forces things to return 404.
One compromise made is that for a given route, if we don't know what "type" the user was expecting back, there's no way to fill in the first argument with the Redfish type, so this patchset opts for filling it in with empty string "". This is arguably incorrect, but still better than what we had previously, so it seems like an acceptable compromise.
Tested: curl -vvvv --insecure --user root:0penBmc https://192.168.7.2/redfish/v1/Systems returns the SystemCollection resource as expected
curl -vvvv --insecure --user root:0penBmc https://192.168.7.2/redfish/v1/foo Returns a ResourceNotFound message, as Redfish expects.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ibef1ded004a950124104cf392b6bf9b679b3c85a
show more ...
|
| #
e56ed6b9
|
| 26-Apr-2022 |
John Edward Broadbent <jebr@google.com> |
redfish: Add Chassis associated Drive query
This change supports named drives being queried by their associated chassis, by using the follow form:
/redfish/v1/Chassis/<chassis>/Drives/<drive>
This
redfish: Add Chassis associated Drive query
This change supports named drives being queried by their associated chassis, by using the follow form:
/redfish/v1/Chassis/<chassis>/Drives/<drive>
This change is in accordance with redfish
Tested: With the redfish validator: No new errors
$ wget -qO- http://localhost:80/redfish/v1/Chassis/DC_SCM/Drives/mmcblk0 { "@odata.context": "/redfish/v1/$metadata#Drive.Drive", "@odata.id": "/redfish/v1/Chassis/DC_SCM/Drives/mmcblk0", "@odata.type": "#Drive.v1_7_0.Drive", "CapacityBytes": 15634268160, "Id": "mmcblk0", "Name": "mmcblk0", "Status": { "State": "Enabled" } }
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I3501ea4789bae57a905052d0e820d441665b72d7
show more ...
|
| #
92903bd4
|
| 26-Apr-2022 |
John Edward Broadbent <jebr@google.com> |
redfish: Add Chassis listing associated drive
If chassis has drives a drive url is added to the chassis, of the form: redfish/v1/Chassis/<chassis>/Drives
When queried, the drive URL will list all d
redfish: Add Chassis listing associated drive
If chassis has drives a drive url is added to the chassis, of the form: redfish/v1/Chassis/<chassis>/Drives
When queried, the drive URL will list all drives associated with the chassis. This is in accordance with the redfish schema.
Samples for the following URLs are below
wget -qO- http://localhost:80/redfish/v1/Chassis/DC_SCM/Drives { "@odata.id": "/redfish/v1/Chassis/DC_SCM/Drives", "@odata.type": "#DriveCollection.DriveCollection", "Members": [ { "@odata.id": "/redfish/v1/Chassis/DC_SCM/Drives/mmcblk0" } ], "Members@odata.count": "1", "Name": "Drive Collection" }
Tested: With the redfish validator: No new errors
Change-Id: Ibdbe7fee5014d6515a77683c8eaca9ca86b6b148 Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
| #
f65fca6a
|
| 24-May-2022 |
Ed Tanous <edtanous@google.com> |
Move redfish/v1 instantiation
Make /redfish/v1 get instantiated in the same place as the other redfish routes, and not in main().
Tested: curl -vvvv --insecure --user root:0penBmc https://192.168.7
Move redfish/v1 instantiation
Make /redfish/v1 get instantiated in the same place as the other redfish routes, and not in main().
Tested: curl -vvvv --insecure --user root:0penBmc https://192.168.7.2/redfish
returns the same value as previously.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Icb93954c00a4cf41708f1b323ddbd83e61146e5d
show more ...
|
| #
9c929bea
|
| 16-Dec-2021 |
Shantappa Teekappanavar <sbteeks@yahoo.com> |
Implement Cable schema
This commit implements Cable and Cable collection schema on bmcweb.
Testing: Validator: @odata.id /redfish/v1/Cables odata Exists PASS @odata.type #CableCol
Implement Cable schema
This commit implements Cable and Cable collection schema on bmcweb.
Testing: Validator: @odata.id /redfish/v1/Cables odata Exists PASS @odata.type #CableCollection.CableCollection odata Exists PASS Members@odata.count 2 odata Exists PASS Members Array (size: 2) links: Cable Yes ... Members[0] Link: /redfish/v1/Cables/dp0_cable0 link: Cable Yes PASS Members[1] Link: /redfish/v1/Cables/dp0_cable1 link: Cable Yes PASS Description Collection of Cable Entries none Yes PASS Name Cable Collection none Yes PASS Oem - Resource.Oem No Optional
Property Name Value Type Exists Result @odata.id /redfish/v1/Cables/dp0_cable0 odata Exists PASS @odata.type #Cable.v1_0_0.Cable odata Exists PASS CableType string Yes PASS LengthMeters - number No Optional Id dp0_cable0 none Yes PASS Name Cable none Yes PASS
Property Name Value Type Exists Result @odata.id /redfish/v1/Cables/dp0_cable1 odata Exists PASS @odata.type #Cable.v1_0_0.Cable odata Exists PASS CableType string Yes PASS LengthMeters - number No Optional Id dp0_cable1 none Yes PASS Name Cable none Yes PASS
Note: Removed some of the fields that are optional to reduce commit msg
Tesing with Curl commands: $ curl -k -X GET https://{$bmc}/redfish/v1/Cables { "@odata.id": "/redfish/v1/Cables", "@odata.type": "#CableCollection.CableCollection", "Description": "Collection of Cable Entries", "Members": [ { "@odata.id": "/redfish/v1/Cables/dp0_cable0" }, { "@odata.id": "/redfish/v1/Cables/dp0_cable1" } ], "Members@odata.count": 2, "Name": "Cable Collection" }
$ curl -k -X GET https://{$bmc}/redfish/v1/Cables/dp0_cable0 { "@odata.id": "/redfish/v1/Cables/dp0_cable0", "@odata.type": "#Cable.v1_0_0.Cable", "CableType": "", "Id": "dp0_cable0", "Name": "Cable" }
$ curl -k -X GET https://{$bmc}/redfish/v1/Cables/dp0_cable1 { "@odata.id": "/redfish/v1/Cables/dp0_cable1", "@odata.type": "#Cable.v1_0_0.Cable", "CableType": "", "Id": "dp0_cable1", "Name": "Cable" }
Set Length property to 1.5 meters using busctl, and check the properties busctl set-property xyz.openbmc_project.Inventory.Manager \ /xyz/openbmc_project/inventory/cables/dp0_cable0 \ xyz.openbmc_project.Inventory.Item.Cable Length d 1.5
$ curl -k -X GET https://{$bmc}/redfish/v1/Cables/dp0_cable0 { "@odata.id": "/redfish/v1/Cables/dp0_cable0", "@odata.type": "#Cable.v1_0_0.Cable", "CableType": "", "Id": "dp0_cable0", "LengthMeters": 1.5, "Name": "Cable" }
Signed-off-by: Shantappa Teekappanavar <sbteeks@yahoo.com> Change-Id: I832ff1c1053f4d8100d04a42cc8046a61e8c1613
show more ...
|
| #
1b7e696b
|
| 02-Aug-2021 |
Lukasz Kazmierczak <lukasz.kazmierczak@intel.com> |
Add GET method for Triggers
Added GET method for retrieving details of individual Trigger searched by given Trigger name, details are extracted from Telemetry service
Tested: - Added single Trigger
Add GET method for Triggers
Added GET method for retrieving details of individual Trigger searched by given Trigger name, details are extracted from Telemetry service
Tested: - Added single Trigger and requested result from bmcweb via /redfish/v1/TelemetryService/Triggers/<triggername> - Added multiple Triggers numeric and discrete with various parameters (empty, non-empty), and requested results from bmcweb via /redfish/v1/TelemetryService/Triggers/<triggername> - Verified uris /redfish/v1/TelemetryService/Triggers/<triggername> by using Redfish-Service-Validator (all passed)
Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com> Change-Id: I1c966b2f792324cc6f6a8784ad18a683e5ce7bd9
show more ...
|
| #
07148cf2
|
| 02-Aug-2021 |
Lukasz Kazmierczak <lukasz.kazmierczak@intel.com> |
Add GET method for TriggerCollection
Added GET method for retrieving list of Triggers from Telemetry service
Tested: - Added single Trigger and requested result from bmcweb via /redfish/v1/Teleme
Add GET method for TriggerCollection
Added GET method for retrieving list of Triggers from Telemetry service
Tested: - Added single Trigger and requested result from bmcweb via /redfish/v1/TelemetryService/Triggers - Added multiple Triggers numeric and discrete, and requested results from bmcweb via /redfish/v1/TelemetryService/Triggers - Verified uri /redfish/v1/TelemetryService/Triggers by using Redfish-Service-Validator with no Triggers/empty Collection (passed)
Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com> Change-Id: Ide00eb44901ea1b97b80fc5c5ddfd97e393d4a04
show more ...
|
| #
b7028ebf
|
| 26-Oct-2021 |
Spencer Ku <Spencer.Ku@quantatw.com> |
Redfish: Support Host Log Entries
This commit is designing and implementing a new logging service in Redfish to expose host serial console logs.The goal is that clients can talk to bmc via Redfish a
Redfish: Support Host Log Entries
This commit is designing and implementing a new logging service in Redfish to expose host serial console logs.The goal is that clients can talk to bmc via Redfish and get a real-time console. It will improve the debuggability of BMCs.
We will add three paths to redfish tree to implement the feature: 1. /redfish/v1/Systems/system/LogServices/HostLogger 2. /redfish/v1/Systems/system/LogServices/HostLogger/Entries 3. /redfish/v1/Systems/system/LogServices/HostLogger/Entries/<str>
To use this feature, we expect to use phosphor-hostlogger(stream mode) + rsyslog + bmcweb. Phosphor-hostlooger in stream mode forwards the byte stream into rsyslog via the imuxsock module. The log is persisted via the omfile module as soon as collected. It makes Host Logger leverage exsisting tools (rsyslog and logrotate). Then we can expose host serial console logs via bmcweb.
This feature can be enabled or disabled by setting the option "redfish-host-logger", and the default value is "enabled". If you don't want to expose host serial console logs, you need to turn the value to "disabled".
Sample Output: curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/HostLogger/ { "@odata.id": "/redfish/v1/Systems/system/LogServices/HostLogger", "@odata.type": "#LogService.v1_1_0.LogService", "Description": "Host Logger Service", "Entries": { "@odata.id": "/redfish/v1/Systems/system/LogServices/HostLogger/Entries" }, "Id": "HostLogger", "Name": "Host Logger Service" }
curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/HostLogger/Entries { "@odata.id": "/redfish/v1/Systems/system/LogServices/HostLogger/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of HostLogger Entries", "Members": [ { "@odata.id": "/redfish/v1/Systems/system/LogServices/HostLogger/Entries/0", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "EntryType": "Oem", "Id": "0", "Message": "123123", "Name": "Host Logger Entry", "OemRecordFormat": "Host Logger Entry", "Severity": "OK" } ], "Members@odata.count": 1, "Name": "HostLogger Entries" }
curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/HostLogger/Entries/0 { "@odata.id": "/redfish/v1/Systems/system/LogServices/HostLogger/Entries/0", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "EntryType": "Oem", "Id": "0", "Message": "123123", "Name": "Host Logger Entry", "OemRecordFormat": "Host Logger Entry", "Severity": "OK" }
Signed-off-by: Spencer Ku <Spencer.Ku@quantatw.com> Change-Id: I4ad2652a80fb1c441a25382b7d422ecd7ffc8557
show more ...
|
| #
3fafa370
|
| 19-Oct-2021 |
Ed Tanous <edtanous@google.com> |
Revert "Redfish: Support Host Log Entries"
This commit appears to cause 500 errors on systems that don't have host-logger installed. Reverting for now to get the codebase back to stable; To the au
Revert "Redfish: Support Host Log Entries"
This commit appears to cause 500 errors on systems that don't have host-logger installed. Reverting for now to get the codebase back to stable; To the author, please fix the error and resubmit.
The bump that failed is here: https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/47933
This reverts commit bf888502a247d8374c70e7ceddc9862bf0ad88bd.
Change-Id: I346178f079245f96e2c1e03720490dcbcf19427b Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
| #
bf888502
|
| 22-Jul-2021 |
SpencerKu <Spencer.Ku@quantatw.com> |
Redfish: Support Host Log Entries
This commit is designing and implementing a new logging service in Redfish to expose host serial console logs.The goal is that clients can talk to bmc via Redfish a
Redfish: Support Host Log Entries
This commit is designing and implementing a new logging service in Redfish to expose host serial console logs.The goal is that clients can talk to bmc via Redfish and get a real-time console. It will improve the debuggability of BMCs.
We will add three paths to redfish tree to implement the feature: 1. /redfish/v1/Systems/system/LogServices/HostLogger 2. /redfish/v1/Systems/system/LogServices/HostLogger/Entries 3. /redfish/v1/Systems/system/LogServices/HostLogger/Entries/<str>
To use this feature, we expect to use phosphor-hostlogger(stream mode) + rsyslog + bmcweb. Phosphor-hostlooger in stream mode forwards the byte stream into rsyslog via the imuxsock module. The log is persisted via the omfile module as soon as collected. It makes Host Logger leverage exsisting tools (rsyslog and logrotate). Then we can expose host serial console logs via bmcweb.
This feature can be enabled or disabled by setting the option "redfish-host-logger", and the default value is "enabled". If you don't want to expose host serial console logs, you need to turn the value to "disabled".
RedfishServiceValidator results: /redfish/v1/Systems/system/LogServices/HostLogger pass: 4 passGet: 1 skipOptional: 9
/redfish/v1/Systems/system/LogServices/HostLogger/Entries pass: 24 passGet: 1 skipOptional: 1
/redfish/v1/Systems/system/LogServices/HostLogger/Entries/<str> pass: 7 passGet: 1 skipOptional: 15
Sample Output: curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/HostLogger/Entries { "@odata.id": "/redfish/v1/Systems/system/LogServices/HostLogger/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of HostLogger Entries", "Members": [ { "@odata.id": "/redfish/v1/Systems/system/LogServices/HostLogger/Entries/1", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "EntryType": "Event", "Id": "1", "Message": "[ 57.061546] gq 0000:16:00.0 eth0: link up, 100 Gbps, no PAUSE", "MessageArgs": [ "[ 57.061546] gq 0000:16:00.0 eth0: link up, 100 Gbps, no PAUSE" ], "MessageId": "OpenBMC.0.1.SerialLogAdded", "Name": "HostLogger Entries", "Severity": "OK" }, ... ], "Members@odata.count": 22, "Name": "HostLogger Entries" }
Signed-off-by: SpencerKu <Spencer.Ku@quantatw.com> Change-Id: I5a7873caa117400fb0a737588a50bd743e8b5063
show more ...
|
| #
647b3cdc
|
| 04-Jul-2021 |
George Liu <liuxiwei@inspur.com> |
log_services: Add download of post code log entries
- Add a GET method /redfish/v1/Systems/system/LogServices/PostCodes /Entries/<str>/attachment/, Get the attribute value through the getPostCod
log_services: Add download of post code log entries
- Add a GET method /redfish/v1/Systems/system/LogServices/PostCodes /Entries/<str>/attachment/, Get the attribute value through the getPostCodes method and encode it as base64, and send it off.
- This allows the use to offload error logs for analysis and further parsing if needed. An http header of "Accept: application/octet-stream" or the default "*/*" is expected.
Tested: - Ran Redfish validator.
- Before, It broke post JSON content as HTTP https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/44660 Now, I tested it passed.
- pldmtool raw --data 0x80 0x3F 0xC 0x0A 0x00 0x00 0x00 0x00 0x00 0x07 0x00 0x00 0x00 0x48 0x00 0x00 0x00 0x02 0x00 0x00 0x01 0x00 0x00 0x00 0x48 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x53 0x54 0x41 0x4e 0x44 0x42 0x59 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
$curl -k https://127.0.0.1:2443/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1/attachment/ output: AgAAAQAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNUQU5EQlkgICAgICAgICAgICAgICAgICAgICAgICAg
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ide684146a4ae9d55dc95fb765927867b042fc27c
show more ...
|
| #
753d034d
|
| 01-Jul-2021 |
Ed Tanous <edtanous@google.com> |
Revert "log_services: Add download of post code log entries"
This reverts commit af61db10fb40c7beb91a70f0b3ff28cb8e6c1704 which breaks the ability to detect and post json content as HTTP. I suspect
Revert "log_services: Add download of post code log entries"
This reverts commit af61db10fb40c7beb91a70f0b3ff28cb8e6c1704 which breaks the ability to detect and post json content as HTTP. I suspect something went wrong with the requestPrefersHtml() method that was modified in this commit. Authors should feel free to resubmit this patch once they have the failure understood and fixed.
Change-Id: Id6e8d102fe5d4b02ac0dce06bff50c28edfcf44c Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
| #
af61db10
|
| 08-Mar-2021 |
George Liu <liuxiwei@inspur.com> |
log_services: Add download of post code log entries
- Add a GET method /redfish/v1/Systems/system/LogServices/PostCodes /Entries/<str>/attachment/, Get the attribute value through the getPostCod
log_services: Add download of post code log entries
- Add a GET method /redfish/v1/Systems/system/LogServices/PostCodes /Entries/<str>/attachment/, Get the attribute value through the getPostCodes method and encode it as base64, and send it off.
- This allows the use to offload error logs for analysis and further parsing if needed. An http header of "Accept: application/octet-stream" or the default "*/*" is expected.
Tested: - Ran Redfish validator.
- pldmtool raw --data 0x80 0x3F 0xC 0x0A 0x00 0x00 0x00 0x00 0x00 0x07 0x00 0x00 0x00 0x48 0x00 0x00 0x00 0x02 0x00 0x00 0x01 0x00 0x00 0x00 0x48 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x53 0x54 0x41 0x4e 0x44 0x42 0x59 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
$curl -k https://127.0.0.1:2443/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1/attachment/ output: AgAAAQAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNUQU5EQlkgICAgICAgICAgICAgICAgICAgICAgICAg
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I74dd6c1dc2d3dfb7908f7741e0d9e7825c1df816
show more ...
|
| #
0256b694
|
| 11-Jun-2021 |
zhanghch05 <zhanghch05@inspur.com> |
Add compile flag to turn off the old Power/Thermal
The compile flag should initially be enable(allowing the old Power/Thermal). At a later date,we can move this flag to defaulted off. At an even lat
Add compile flag to turn off the old Power/Thermal
The compile flag should initially be enable(allowing the old Power/Thermal). At a later date,we can move this flag to defaulted off. At an even later date we can remove the old Power/Thermal implementation.
Test: 1. Validator passed. 2.The default value is enable, so old Power/Thermal can be used normally.Use the curl commond, old Power/Thermal still exists. ~$ curl -i -k -H "X-Auth-Token: $token" -X GET "https://${bmc}/redfish/v1/Chassis/chassis" { "@odata.id": "/redfish/v1/Chassis/chassis", "@odata.type": "#Chassis.v1_15_0.Chassis", "Actions": { "#Chassis.Reset": { "@Redfish.ActionInfo": "/redfish/v1/Chassis/chassis/ResetActionInfo", "target": "/redfish/v1/Chassis/chassis/Actions/Chassis.Reset" } }, "ChassisType": "RackMount", "Id": "chassis", "Links": { "ComputerSystems": [ { "@odata.id": "/redfish/v1/Systems/system" } ], "ManagedBy": [ { "@odata.id": "/redfish/v1/Managers/bmc" } ] }, "Name": "chassis", "PCIeDevices": { "@odata.id": "/redfish/v1/Systems/system/PCIeDevices" }, "PCIeSlots": { "@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots" }, "Power": { "@odata.id": "/redfish/v1/Chassis/chassis/Power" }, "PowerState": "Off", "PowerSubsystem": { "@odata.id": "/redfish/v1/Chassis/chassis/PowerSubsystem" }, "Sensors": { "@odata.id": "/redfish/v1/Chassis/chassis/Sensors" }, "Status": { "Health": "OK", "HealthRollup": "OK", "State": "StandbyOffline" }, "Thermal": { "@odata.id": "/redfish/v1/Chassis/chassis/Thermal" } }
Signed-off-by: zhanghaicheng <zhanghch05@inspur.com> Change-Id: Id3556c18dc6aac95fd5aa02cdf2983378c01fb68
show more ...
|
| #
22db1728
|
| 09-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Remove Node class from NBD proxy
This was broken as part of the recent Node removal. Although this code is currently dead, it would be good if at least was able to be built, so if someone was incli
Remove Node class from NBD proxy
This was broken as part of the recent Node removal. Although this code is currently dead, it would be good if at least was able to be built, so if someone was inclined to upstream the backend for it, they could without too much trouble.
Because of this move in code, clang-tidy can now see this code and found a number of failures, so this is combined with a couple of relatively trivial clang-tidy changes that are low impact and mechanical in nature.
Tested: Commented in the option in meson_options.txt, and built. Code builds.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I5ff52b773fc4fc9d44a916c4e6bf6e60295c3aaa
show more ...
|
| #
b282a438
|
| 03-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Remove the Node class
Fixes #181
Lots of specific details around why the node class have been removed are in the previous patchsets. This commit actually does the deed and makes it go away entirel
Remove the Node class
Fixes #181
Lots of specific details around why the node class have been removed are in the previous patchsets. This commit actually does the deed and makes it go away entirely.
Now that this is finally done, we can compare binary size. Surprisingly enough, this series saves a full 72KB of compressed binary size, which amounts to about 6.4% of the total code size.
Before: 1197632 bytes After: 1124688 bytes
This IMO makes it worth it, considering we've significantly reduced the amount of code at the same time.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I3c8688715f933b381cad0be75a079ccfd72c3130
show more ...
|
| #
bf648f77
|
| 03-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Move ethernet interface away from Node class
Pursuant to the other patchsets further up in this chain, continue to move things to the simpler BMCWEB_ROUTE mechanism. This moves the Ethernet modules
Move ethernet interface away from Node class
Pursuant to the other patchsets further up in this chain, continue to move things to the simpler BMCWEB_ROUTE mechanism. This moves the Ethernet modules up the chain.
Tested: Ed Tested on redfish service validator, no new errors (unrelated UUID error present) Gunnar Tested Series on validator and GUI.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Id1937e0d3f525d58744e6ff6360ef23f66350c66
show more ...
|
| #
b8983957
|
| 03-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Move the hypervisor endpoints into a namespace
The /redfish/v1/systems/hypervisor endpoints seem to have copy/pasted a lot of code from ethernet.hpp, including all the function naming. This is caus
Move the hypervisor endpoints into a namespace
The /redfish/v1/systems/hypervisor endpoints seem to have copy/pasted a lot of code from ethernet.hpp, including all the function naming. This is causing naming conflicts as part of removing the Node class. For the moment, just put these methods into the redfish::hypervisor namespace, along with a comment, so we can at least get code that builds. At some point in the future we can deduplicate the duplicated code, and give the unique things unique method names so we don't have collisions and this can be undone.
Tested: Ran redfish service validator on 42a9e0ee96ef1928732ffd8d567ad656a4f41887 No change in behavior, one failure on Manager UUID that appears unrelated.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I0d715ed3bf04a86a93eb7842804319568083f86d
show more ...
|
| #
faa34ccf
|
| 03-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Move Sessions to non Node structure
This commit, in line with 7e860f1550c8686eec42f7a75bc5f2ef51e756ad moves the session service over to the normal BMCWEB routes. This is relatively painless, with
Move Sessions to non Node structure
This commit, in line with 7e860f1550c8686eec42f7a75bc5f2ef51e756ad moves the session service over to the normal BMCWEB routes. This is relatively painless, with the exception of the fact that the previous classes held members of the other classes in their struct. This was an attempt at a design pattern from very early on that never really worked in practice, so it was largely abandoned, and now this is cleaning up the last remains of it.
This commit accomplishes this by making two critical changes, first, Delete /redfish/v1/SessionService/Sessions/<sessionId> no longer returns the structure of the session that was deleted, instead returns 204 unmodified, which is very similar to what we do in other cases. While this is a breaking change, it's not clear what a user would even do with a returned deleted session, so it seems really unlikely to break anyone.
This commit also creates a separate method to fill in a session object with a given session details, such that the POST and GET methods can share a single implementation. This is more efficient than the old way, as it prevents a double lookup from the session store.
Tested: Tested redfish validator on system. No new failures (UUID failure still present)
Change-Id: If5d2b2c5a21af05ed0cb02a15bd1c1c976b8da12 Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
| #
6c51eab1
|
| 03-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Remove Node class from Account Service
This is a progression of 7e860f1550c8686eec42f7a75bc5f2ef51e756ad, which correctly noted that AccountService has a number of class specific variables. This co
Remove Node class from Account Service
This is a progression of 7e860f1550c8686eec42f7a75bc5f2ef51e756ad, which correctly noted that AccountService has a number of class specific variables. This commit removes the Node class from those in line with the aformentioned patchset, and at the same time removes the need for the isAllowedWithoutConfigureSelf method, which was relying on state captured to do some complex rule checking. Fortunately, it is relatively easy to check current permissions at runtime using the Privileges::isSupersetOf check against the current users role. This significantly reduces the complexity of the code, while still giving the same result (users with only ConfigureSelf cannot see or modify other users). Ideally these two things, isAllowedWithoutConfigureSelf, and the Node moving would've been done in separate commits, but given that the former would've required moving a number of features out of the node derived class anyway, separating them would lead to essentially the same diff twice, hence why they are combined for easier review.
Tested: Ran Redfish service validator. No new errors. (UUID error present that appears to be unrelated)
Change-Id: Iad919dbc7ab7e8d47cc1160999ed9f43f685fa56 Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|