#
e05aec50
|
| 25-Jan-2022 |
Ed Tanous <edtanous@google.com> |
Add readability-redundant-* checks
There's a number of redundancies in our code that clang can sanitize out. Fix the existing problems, and enable the checks.
Signed-off-by: Ed Tanous <edtanous@go
Add readability-redundant-* checks
There's a number of redundancies in our code that clang can sanitize out. Fix the existing problems, and enable the checks.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ie63d7b7f0777b702fbf1b23a24e1bed7b4f5183b
show more ...
|
#
9eb808c1
|
| 25-Jan-2022 |
Ed Tanous <edtanous@google.com> |
Enable readability-avoid-const-params-in-decls
This check involves explicitly declaring variables const when they're declared auto, which helps in readability, and makes it more clear that the varia
Enable readability-avoid-const-params-in-decls
This check involves explicitly declaring variables const when they're declared auto, which helps in readability, and makes it more clear that the variables are const.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I71198ea03850384a389a56ad26f2c4a48c75b148
show more ...
|
#
26f6976f
|
| 25-Jan-2022 |
Ed Tanous <edtanous@google.com> |
Enable readability-container-size-empty tests
This one is a little trivial, but it does help in readability.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I5366d4eec8af2f781b3bad804131a
Enable readability-container-size-empty tests
This one is a little trivial, but it does help in readability.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I5366d4eec8af2f781b3bad804131ae2eb806e3aa
show more ...
|
#
ebe4d91e
|
| 12-Jan-2022 |
Ed Tanous <edtanous@google.com> |
Fix regresssion in name
It's unclear whether clang-format lost its mind, or if I did this unintentionally, but it's clearly wrong, and for systems that have sensors in warning, causes a ERROR - Heal
Fix regresssion in name
It's unclear whether clang-format lost its mind, or if I did this unintentionally, but it's clearly wrong, and for systems that have sensors in warning, causes a ERROR - Health: Value wARNING Enum not found in ['OK', 'Warning', 'Critical'] error in the service validator. Fix this.
Tested: Code compiles, revert.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: If79654fd7026080c89de0ece2c553e6edf97fd8f
show more ...
|
#
ecd6a3a2
|
| 07-Jan-2022 |
Ed Tanous <edtanous@google.com> |
Enable cppcoreguidelines-special-member-functions checks
Part of enforcing cpp core guidelines involves explicitly including all constructors required on a non-trivial class. We were missing quite
Enable cppcoreguidelines-special-member-functions checks
Part of enforcing cpp core guidelines involves explicitly including all constructors required on a non-trivial class. We were missing quite a few. In all cases, the copy/move/and operator= methods are simply deleted.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ie8d6e8bf2bc311fa21a9ae48b0d61ee5c1940999
show more ...
|
#
543f4400
|
| 06-Jan-2022 |
Ed Tanous <edtanous@google.com> |
Enable init checker
clang-tidy added cppcoreguidelines-init-variables as a check, which is something we already enforce to some extent, but getting CI to enforce it will help reviews move faster.
T
Enable init checker
clang-tidy added cppcoreguidelines-init-variables as a check, which is something we already enforce to some extent, but getting CI to enforce it will help reviews move faster.
Tested: Code compiles. Noop changes.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I7e10950de617b1d3262265572b1703f2e60b69d0
show more ...
|
#
f94c4ecf
|
| 06-Jan-2022 |
Ed Tanous <edtanous@google.com> |
Enable clang-tidy forward reference checks
Clang-13 adds new checks we can turn on, which find quite a few errors.
Tested: Code compiles
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I
Enable clang-tidy forward reference checks
Clang-13 adds new checks we can turn on, which find quite a few errors.
Tested: Code compiles
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I74b780760014c898cc440b37aea640b33e91c439
show more ...
|
#
711ac7a9
|
| 20-Dec-2021 |
Ed Tanous <edtanous@google.com> |
Consistently use ManagedObjectType
Some subsystems seem to have invented their own typedefs for this stuff, move to using the one typedef in dbus::utility so we're consistent, and we reduce our temp
Consistently use ManagedObjectType
Some subsystems seem to have invented their own typedefs for this stuff, move to using the one typedef in dbus::utility so we're consistent, and we reduce our templates.
Tested: code compiles
This saves a negligible amount (104 bytes compressed) on our binary size.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I952ea1f960aa703808d0ac80f35dc24cdd8d5027
show more ...
|
#
1e1e598d
|
| 11-Jun-2021 |
Jonathan Doman <jonathan.doman@intel.com> |
Using sdbusplus::asio::getProperty
It simplifies a lot of code and after changing sdbusplus implementation slightly reduces binary size if used together with:
https://gerrit.openbmc-project.xyz/c/o
Using sdbusplus::asio::getProperty
It simplifies a lot of code and after changing sdbusplus implementation slightly reduces binary size if used together with:
https://gerrit.openbmc-project.xyz/c/openbmc/sdbusplus/+/49467
* Uncompressed size: 3033148 -> 3012164, -20984 B * gzip compressed size: 1220586 -> 1214625, -5961 B
Tested: - Redfish validator output is the same before and after the change
Change-Id: Ibe3227d3f4230de2363ba3d9396e51130c8240a5 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com> Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
#
168e20c1
|
| 13-Dec-2021 |
Ed Tanous <edtanous@google.com> |
Move to common variant
This saves approximately 34kB in the compressed binary size of bmcweb due to reduced template instantiations. This amounts to a 2.5% reduction in the overall size.
Note, the
Move to common variant
This saves approximately 34kB in the compressed binary size of bmcweb due to reduced template instantiations. This amounts to a 2.5% reduction in the overall size.
Note, there were a few places where we broke const-correctness in the form of pulling a non-const reference out of a const variant. This new variant now requires const correctness, so some consts are added where required.
Tested: Code compiles.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I6a60c8881c1268627eedb4ffddf16689dc5f6ed2
show more ...
|
#
4f277b54
|
| 08-Dec-2021 |
Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
Fix - RedFish response for non-manufacturing mode
Issue: If system is not in manufacturing mode, RedFish response is success but sensor value is not updated
Fix: If the system is not in manufacturi
Fix - RedFish response for non-manufacturing mode
Issue: If system is not in manufacturing mode, RedFish response is success but sensor value is not updated
Fix: If the system is not in manufacturing mode, return proper error as actionNotSupported.
Tested: 1. Redfish validator - passed for this new change 2. Verified RedFish response when system in not manufacturing mode. Patch: https://<BMC-IP>/redfish/v1/Chassis/<Baseboard>/Thermal Body: { "Temperatures": [ { "MemberId": "BMC_Temp", "ReadingCelsius": 34.313 }] } Response: { "@odata.id": "/redfish/v1/Chassis/<Baseboard>/Thermal", "@odata.type": "#Thermal.v1_4_0.Thermal", "Fans": [], "Id": "Thermal", "Name": "Thermal", "Temperatures": [], "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation.", "MessageArgs": [], "MessageId": "Base.1.8.1.InsufficientPrivilege", "MessageSeverity": "Critical", "Resolution": "Either abandon the operation or change the associated access rights and resubmit the request if the operation failed." } ], "code": "Base.1.8.1.InsufficientPrivilege", "message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation." } }
Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I3c6bfc9d37e1e8648ad0ff713929ad3fd06f437b
show more ...
|
#
0fda0f12
|
| 15-Nov-2021 |
George Liu <liuxiwei@inspur.com> |
Update clang-format
refer: https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format `Don't break long string literals`
Tested: built bmcweb successfully and RedfishValidator Passed.
Sig
Update clang-format
refer: https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format `Don't break long string literals`
Tested: built bmcweb successfully and RedfishValidator Passed.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ib58f7c942fd3838592e043c57e0b6ffcdc3d963b
show more ...
|
#
9062d478
|
| 16-Nov-2021 |
Gunnar Mills <gmills@us.ibm.com> |
Revert "Change the completionhandler to accept Res"
This reverts commit 91995f3272010875e1559397e98ca93354066a0e.
Seeing bumps fail. https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/48864
Pl
Revert "Change the completionhandler to accept Res"
This reverts commit 91995f3272010875e1559397e98ca93354066a0e.
Seeing bumps fail. https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/48864
Please fix, test, and resubmit.
Change-Id: Id539fe66d5a093caf8f22a393f7af7b58ead5247 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
91995f32
|
| 20-Oct-2021 |
zhanghch05 <zhanghch05@inspur.com> |
Change the completionhandler to accept Res
These modifications are from WIP:Redfish:Query parameters:Only (https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/47474). And they will be used in Redf
Change the completionhandler to accept Res
These modifications are from WIP:Redfish:Query parameters:Only (https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/47474). And they will be used in Redfish:Query Parameters:Only. (https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/38952) The code changed the completion handle to accept Res to be able to recall handle with a new Response object. AsyncResp owns a new res, so there is no need to pass in a res.
Tested: 1.Basic and Token auth both still work. 2.Use scripts/websocket_test.py to test websockets. It is still work correctly. python3 websocket_test.py --host 127.0.0.1:2443 This modification is a public part, so you can use any URL to test this function. The response is the same as before.
Signed-off-by: zhanghaicheng <zhanghch05@inspur.com> Change-Id: I570e32fb47a9a90fe111fcd1f4054060cd21def3
show more ...
|
#
accdbb2c
|
| 09-Nov-2021 |
Andrew Geissler <geissonator@yahoo.com> |
redfish:sensors: change verbose error trace to debug
It was noticed recently when enabling bmcweb error traces to assist with some debug, the journal was filling with logs like this:
Nov 09 21:23:4
redfish:sensors: change verbose error trace to debug
It was noticed recently when enabling bmcweb error traces to assist with some debug, the journal was filling with logs like this:
Nov 09 21:23:46 p10bmc bmcweb[249]: (2021-11-09 21:23:46) [ERROR "sensors.hpp":2584] fan3_1 not in sensor list Nov 09 21:23:46 p10bmc bmcweb[249]: (2021-11-09 21:23:46) [ERROR "sensors.hpp":2584] fan3_0 not in sensor list Nov 09 21:23:46 p10bmc bmcweb[249]: (2021-11-09 21:23:46) [ERROR "sensors.hpp":2584] fan4_0 not in sensor list ...
This was the result of a test case reading a single sensor: curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fan4_1
This code logic is fairly complex but appears to get all sensors of the type passed in, then iterates through them looking for the one(s) of interest. This code path should not be an error.
Tested: - Verified that after running the following command, the unwanted logs were no longer in the journal: curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/fan4_1{ "@odata.id": "/redfish/v1/Chassis/chassis/Sensors/fan4_1", "@odata.type": "#Sensor.v1_0_0.Sensor", "Id": "fan4_1", "Name": "fan4 1", "Reading": 7772.0, "ReadingRangeMax": null, "ReadingRangeMin": null, "ReadingType": "Rotational", "ReadingUnits": "RPM", "Status": { "Health": "OK", "State": "Enabled" } }
Change-Id: Iaffd0243ddcd148b72486b3025673bb35d0dd7a3 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
#
021d32cf
|
| 29-Oct-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Revert "Use AsyncResp in retrieveUriToDbusMap"
This reverts commit 9d832618c74052bd445d6e8b3461946f3c431ca3.
Reason for revert: Power schema should not be returned as reposponse to POST request
Si
Revert "Use AsyncResp in retrieveUriToDbusMap"
This reverts commit 9d832618c74052bd445d6e8b3461946f3c431ca3.
Reason for revert: Power schema should not be returned as reposponse to POST request
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: I01806a8c24c67f264dab4e9972497323c1499017
show more ...
|
#
9d832618
|
| 20-Oct-2021 |
zhanghch05 <zhanghch05@inspur.com> |
Use AsyncResp in retrieveUriToDbusMap
Initially, when the change to use AsyncResp everywhere was made, the retrieveUriToDbusMap was skipped. This commit address that issue, by adding AsyncResp to re
Use AsyncResp in retrieveUriToDbusMap
Initially, when the change to use AsyncResp everywhere was made, the retrieveUriToDbusMap was skipped. This commit address that issue, by adding AsyncResp to retrieveUriToDbusMap.
Tested: curl -k -H "X-Auth-Token: $token" -X POST https://${bmc}/redfish/v1/TelemetryService/MetricReportDefinitions/ -d '{"Id": "lxw1", "Metrics": [{"MetricId": "123", "MetricProperties": ["/redfish/v1/Chassis/chassis/Power#/Voltages/0 /ReadingVolts"]}], "MetricReportDefinitionType": "OnRequest", "ReportActions": ["LogToMetricReportsCollection"], "Schedule": {"RecurrenceInterval": "100"}}'
{ "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The resource has been created successfully", "MessageArgs": [], "MessageId": "Base.1.8.1.Created", "MessageSeverity": "OK", "Resolution": "None" } ], "@odata.id": "/redfish/v1/Chassis/chassis/Power", "@odata.type": "#Power.v1_5_2.Power", "Id": "Power", "Name": "Power", "Redundancy": [], "Voltages": [ { "@odata.id": "/redfish/v1/Chassis/chassis/Power#/Voltages/0", "@odata.type": "#Power.v1_0_0.Voltage", "LowerThresholdCritical": 10.8, "LowerThresholdNonCritical": 11.16, "MaxReadingRange": 12600.0, "MemberId": "P12V", "MinReadingRange": 11400.0, "Name": "P12V", "ReadingVolts": 22.930140000000005, "Status": { "Health": "Critical", "State": "Enabled" }, "UpperThresholdCritical": 13.200000000000001, "UpperThresholdNonCritical": 12.84 }, ... The response is too long, so I omitted the following content.
Signed-off-by: zhanghaicheng <zhanghch05@inspur.com> Change-Id: I6f82bdb234ddade67f689d79d004d672593fba4f
show more ...
|
#
e8204933
|
| 01-Feb-2021 |
George Liu <liuxiwei@inspur.com> |
Move sensor collection to all sensors
Redfish's thinking on what sensors should be included in the sensor collection has changed. Roughly two years ago their thinking was "for sensors that are not c
Move sensor collection to all sensors
Redfish's thinking on what sensors should be included in the sensor collection has changed. Roughly two years ago their thinking was "for sensors that are not covered elsewhere in the model-meaning do not duplicate Power and Thermal" and that is what OpenBMC implemented.
Today, as described in the new thermalSubsystem and powerSubsystem doc the sensor collection should contain all sensors that are associated with that chassis.
Link with: https://redfishforum.com/thread/190/sensorcollection-contain-all-sensors-chassis
All things considered as "sensors" should be included in the Sensor collection.
To make this transition as easy as possible for clients, create a new meson option, new-powersubsystem-thermalsubsystem. This "all sensors in the sensor collection" behavior as well as the new ThermalSubsystem, PowerSubsystem, Fans, and Power Supplies schemas will be under this option. This option is defaulted to disabled. At a later time, the default will move to enabled.
Move Redfish SensorCollection to show all sensors from /xyz/openbmc_project/sensors with the "all_sensors" association for that chassis if this option is enabled.
The SensorCollection is found at /redfish/v1/Chassis/<Id>/Sensors.
Tested: 1. Enabled redfish-new-powersubsystem-thermalsubsystem and validator passes.
2. Performance testing (average of 5 times): a. Redfish validator time: without this patch: 71.375s with this patch: 71.763s
b. Number of sensors tested: without this patch: 8 with this patch: 63
c. Run `https://${bmc}/redfish/v1/Chassis/chassis/Sensors`: without this patch: 0.197s with this patch: 0.228s
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I2bdddcf616dc72cf0683515c9ab8453bd35eee09
show more ...
|
#
7088690c
|
| 22-Jul-2021 |
Basheer Ahmed Muddebihal <basheerx.muddebihal@intel.com> |
Add support for System Airflow sensor
Added DBUS object path for Airflow sensor to get the system airflow sensor. This fix requires following fix dbus-sensors https://gerrit.openbmc-project.xyz/c/op
Add support for System Airflow sensor
Added DBUS object path for Airflow sensor to get the system airflow sensor. This fix requires following fix dbus-sensors https://gerrit.openbmc-project.xyz/c/openbmc/dbus-sensors/+/45241
Tested: Checked redfish/v1/Chassis/<chassis_id>/Sensors/ System_Airflow displayed the correct values.
Signed-off-by: Basheer Ahmed Muddebihal <basheerx.muddebihal@intel.com> Change-Id: I32134e659a9fa7a5357fe5928ecebc0fc121c2bc
show more ...
|
#
ed398213
|
| 09-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Automate PrivilegeRegistry to code
This commit attempts to automate the creation of our privileges structures from the redfish privilege registry. It accomplishes this by updating parse_registries.
Automate PrivilegeRegistry to code
This commit attempts to automate the creation of our privileges structures from the redfish privilege registry. It accomplishes this by updating parse_registries.py to also pull down the privilege registry from DMTF. The script then generates privilege_registry.hpp, which include const defines for all the privilege registry entries in the same format that the Privileges struct accepts. This allows new clients to simply reference the variable to these privilege structures, instead of having to manually (ie error pronely) put the privileges in themselves.
This commit updates all the routes.
For the moment, override and OEM schemas are not considered. Today we don't have any OEM-specific Redfish routes, so the existing ones inherit their parents schema. Overrides have other issues, and are already incorrect as Redfish defines them.
Binary size remains unchanged after this patchset.
Tested: Ran redfish service validator
Ran test case from f9a6708c4c6490257e2eb6a8c04458f500902476 to ensure that the new privileges constructor didn't cause us to regress the brace construction initializer.
Checked binary size with: gzip -c $BBPATH/tmp/work/s7106-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/usr/bin/bmcweb | wc -c 1244048
(tested on previous patchset)
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ideede3d5b39d50bffe7fe78a0848bdbc22ac387f
show more ...
|
#
432a890c
|
| 14-Jun-2021 |
Ed Tanous <edtanous@google.com> |
Remove ambiguous privileges constructor
There are a number of endpoints that assume that a given routes privileges are governed by a single set of privileges, instead of multiple sets ORed together.
Remove ambiguous privileges constructor
There are a number of endpoints that assume that a given routes privileges are governed by a single set of privileges, instead of multiple sets ORed together. To handle this, there were two overloads of the privileges() method, one that took a vector of Privileges, and one that took an initializer_list of const char*. Unfortunately, this leads some code in AccountService to pick the wrong overload when it's called like this .privileges( {{"ConfigureUsers"}, {"ConfigureManager"}, {"ConfigureSelf"}})
This is supposed to be "User must have ConfigureUsers, or ConfigureManager, or ConfigureSelf". Currently, because it selects the wrong overload, it computes to "User must have ConfigureUsers AND ConfigureManager AND ConfigureSelf.
The double braces are supposed to cause this to form a vector of Privileges, but it appears that the initializer list gets consumed, and the single invocation of initializer list is called. Interestingly, trying to put in a privileges overload of intializer_list<initializer_list<const char*>> causes the compilation to fail with an ambiguous call error, which is what I would've expected to see previously in this case, but alas, I'm only a novice when it comes to how the C++ standard works in these edge cases. This is likely due in part to the fact that they were templates of an unused template param (seemingly copied from the previous method) and SFINAE rules around templates.
This commit functionally removes one of the privileges overloads, and adds a second set of braces to every privileges call that previously had a single set of braces. Previous code will not compile now, which is IMO a good thing.
This likely popped up in the Node class removal, because the Node class explicitly constructs a vector of Privilege objects, ensuing it can hit the right overload
Tested: Ran Redfish service validator
Tested the specific use case outlined on discord with: Creating a new user with operator privilege: ``` redfishtool -S Always -u root -p 0penBmc -vvvvvvvvv -r 192.168.7.2 AccountService adduser foo mysuperPass1 Operator ```
Then attempting to list accounts: ``` curl -vvvv --insecure --user foo:mysuperPass1 https://192.168.7.2/redfish/v1/AccountService/Accounts/foo ```
Which succeeded and returned the account in question.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I83e62b70e97f56dc57d43b9081f333a02fe85495
show more ...
|
#
80ac4024
|
| 04-Jun-2021 |
Bruce Lee <Bruce_Lee@quantatw.com> |
Remove checkAndDoSensorsOverride function
Remove checkAndDoSensorsOverride function, this will be handled via dbus-sensor when the user set-value from external. This is unlikely to break any users b
Remove checkAndDoSensorsOverride function
Remove checkAndDoSensorsOverride function, this will be handled via dbus-sensor when the user set-value from external. This is unlikely to break any users because the Intel special mode function is no change, only move to dbus-sensor to handle, "busctl" command also belongs to the external setting, so move to dbus-sensor is more suitable, this will including users to set value use busctl command and Redfish from external.
Dbus-sensor needs to be merged at the same time. Dbus-sensor changes are pushed to Gerrit: https://gerrit.openbmc-project.xyz/c/openbmc/dbus-sensors/+/42453
The mailing list discussion links: https://lists.ozlabs.org/pipermail/openbmc/2021-March/025597.html
Signed-off-by: Bruce Lee <Bruce_Lee@quantatw.com> Change-Id: I74356f2b65e41cc0e9d8947c160f313334b78331
show more ...
|
#
7e860f15
|
| 08-Apr-2021 |
John Edward Broadbent <jebr@google.com> |
Remove Redfish Node class
Reduces the total number of lines and will allow for easier testing of the redfish responses.
A main purpose of the node class was to set app.routeDynamic(). However now a
Remove Redfish Node class
Reduces the total number of lines and will allow for easier testing of the redfish responses.
A main purpose of the node class was to set app.routeDynamic(). However now app.routeDynamic can handle the complexity that was once in critical to node. The macro app.routeDynamic() provides a shorter cleaner interface to the unerlying app.routeDyanic call. The old pattern set permissions for 6 interfaces (get, head, patch, put, delete_, and post) even if only one interface is created. That pattern creates unneeded code that can be safely removed with no effect. Unit test for the responses would have to mock the node the class in order to fully test responses.
see https://github.com/openbmc/bmcweb/issues/181
The following files still need node to be extracted.
virtual_media.hpp account_service.hpp redfish_sessions.hpp ethernet.hpp
The files above use a pattern that is not trivial to address. Often their responses call an async lambda capturing the inherited class. ie (https://github.com/openbmc/bmcweb/blob/ffed87b5ad1797ca966d030e7f979770 28d258fa/redfish-core/lib/account_service.hpp#L1393) At a later point I plan to remove node from the files above.
Tested: I ran the docker unit test with the following command. WORKSPACE=$(pwd) UNIT_TEST_PKG=bmcweb ./openbmc-build-scripts/run-unit-test-docker.sh
I ran the validator and this change did not create any issues. python3 RedfishServiceValidator.py -c config.ini
Signed-off-by: John Edward Broadbent <jebr@google.com> Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I147a0289c52cb4198345b1ad9bfe6fdddf57f3df
show more ...
|
#
d51e072f
|
| 16-Apr-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
fixed crash in getChassisData
crow::Response was create on stack and passed to async function which was called after crow::Response was deleted
Tested: - mentioned issue doesn't produce errors an
fixed crash in getChassisData
crow::Response was create on stack and passed to async function which was called after crow::Response was deleted
Tested: - mentioned issue doesn't produce errors anymore - no additional errors detected
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: I16b338e0f6a4102415b5dca5defc307495db0c8e
show more ...
|
#
8d1b46d7
|
| 31-Mar-2021 |
zhanghch05 <zhanghch05@inspur.com> |
Using AsyncResp everywhere
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 a
Using AsyncResp everywhere
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
show more ...
|