summaryrefslogtreecommitdiff
path: root/redfish-core/lib/bios.hpp
AgeCommit message (Collapse)AuthorFilesLines
2021-04-08Using AsyncResp everywherezhanghch051-7/+4
Get the core using AsyncResp everywhere, and not have each individual handler creating its own object.We can call app.handle() without fear of the response getting ended after the first tree is done populating. Don't use res.end() anymore. Tested: 1. Validator passed. Signed-off-by: zhanghaicheng <zhanghch05@inspur.com> Change-Id: I867367ce4a0caf8c4b3f4e07e06c11feed0782e8
2020-09-02Add "Links""SoftwareImages"Gunnar Mills1-2/+3
SoftwareImages was added in Manager in 1_6_0 and Bios in 1_1_0. Use the existing getActiveFwVersion function but rename to populateFirmwareInformation. Changed the mapper call from a GetObject to a GetSubTree. Added some debug to the function. Tested: Validator passes. curl -k https://$bmc/redfish/v1/Managers/bmc .... "Links": { "ActiveSoftwareImage": { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/e4e1c69d" }, "ManagerForChassis": [ .... "@odata.id": "/redfish/v1/Chassis/chassis" }, "SoftwareImages": [ { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/730944ed" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/e4e1c69d" } ], "SoftwareImages@odata.count": 2 }, ... Change-Id: I20798852a2f62575854820bff36175dda38c7dbc Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2020-08-17Enable unused variable warnings and resolveEd Tanous1-4/+4
This commit enables the "unused variables" warning in clang. Throughout this, it did point out several issues that would've been functional bugs, so I think it was worthwhile. It also cleaned up several unused variable from old constructs that no longer exist. Tested: Built with clang. Code no longer emits warnings. Downloaded bmcweb to system and pulled up the webui, observed webui loads and logs in properly. Change-Id: I51505f4222cc147d6f2b87b14d7e2ac4a74cafa8 Signed-off-by: Ed Tanous <ed@tanous.net>
2020-08-17Remove middlewaresEd Tanous1-2/+2
Middlewares, while kinda cool from an academic standpoint, make our build times even worse than they already are. Given that we only really use 1 real middleware today (token auth) and it needs to move into the parser mode anyway (for security limiting buffer sizes), we might as well use this as an opportunity to delete some code. Some other things that happen: 1. Persistent data now moves out of the crow namespace 2. App is no longer a template 3. All request_routes implementations no longer become templates. This should be a decent (unmeasured) win on compile times. This commit was part of a commit previously called "various cleanups". This separates ONLY the middleware deletion part of that. Note, this also deletes about 400 lines of hard to understand code. Change-Id: I4c19e25491a153a2aa2e4ef46fc797bcb5b3581a Signed-off-by: Ed Tanous <ed@tanous.net>
2020-07-24Firmware: Add ActiveSoftwareImage for the running imageGunnar Mills1-1/+5
ActiveSoftwareImage was added to Bios in v1_1_0 and Manager in v1_6_0. What Redfish calls active is the functional or running image in OpenBMC. Reused getActiveFwVersion which means less D-Bus calls when calling from Manager. From https://redfish.dmtf.org/schemas/v1/Manager.v1_9_0.json "ActiveSoftwareImage": { ... "description": "The link to the software inventory resource that represents the active firmware image for this manager.", "longDescription": "This property shall contain a link to a resource of type SoftwareInventory that represents the active firmware image for this manager.", "readonly": false, "versionAdded": "v1_6_0" PATCH support will come later. Tested: Validator passes Manager: ... "FirmwareVersion": "2.9.0-dev-515-g92efac612-dirty", ... "Links": { "ActiveSoftwareImage": { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/82d3ec86" }, "ManagerForChassis": [ { "@odata.id": "/redfish/v1/Chassis/chassis" } ], ... System: "BiosVersion": "IBM-witherspoon-OP9-v2.3-rc2-3.28", Bios: "ActiveSoftwareImage": { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/9f75c5ad" } }, Change-Id: Ia3583b4cb513bf36942a9dcbc4588615275bb2ad Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2020-06-11clang-format: update to latest from docs repoGunnar Mills1-6/+6
This is from openbmc/docs/style/cpp/.clang-format Other OpenBMC repos are doing the same. Tested: Built and validator passed. Change-Id: Ief26c755c9ce012823e16a506342b0547a53517a Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2019-12-05Redfish: Implement ResetBios actionCarol Wang1-0/+73
This action resets the BIOS attributes to default. Tested: GET test: 1. $ curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/Systems/system { ... "Bios": { "@odata.id": "/redfish/v1/Systems/system/Bios" }, ... } 2. $ curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/Systems/system/Bios { "@odata.id": "/redfish/v1/Systems/system/Bios", "@odata.type": "#Bios.v1_1_0.Bios", "Actions": { "#Bios.ResetBios": { "target": "/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios" } }, "Description": "BIOS Configuration Service", "Id": "BIOS", "Name": "BIOS Configuration" } POST test: 1. Change gard list: # ./gard list No GARD entries to display # ./gard create /Sys0/Node0/Proc1/EQ1/EX1/Core0 # ./gard list ID | Error | Type | Path ----------------------------------------------------------------------- 00000001 | 00000000 | Manual | /Sys0/Node0/Proc1/EQ1/EX1/Core0 ======================================================================= 2. Reset bios: # curl -k -H "X-Auth-Token: $token" -X POST https://${bmc}/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios 3. Check gard list again: # ./gard list No GARD entries to display Validator tool test: Counter({'pass': 3001, 'skipOptional': 2475, 'metadataNamespaces': 1605, 'passGet': 191, 'serviceNamespaces': 72, 'invalidPropertyValue': 10, 'passAction': 7, 'optionalAction': 6, 'warningPresent': 6, 'warnDeprecated': 2, 'unverifiedComplexAdditional': 1}) Validation has succeeded. Signed-off-by: Carol Wang <wangkair@cn.ibm.com> Change-Id: I0cba966bfde04566001b6df07ad15217f627c327