56ba386d | 10-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Fix Persistent Subscription PATCH
The `RedfishEvent` subscription is expected to be persistent over bmc reboot or bmcweb restart. However, the properties on PATCH are currently not persistent after
Fix Persistent Subscription PATCH
The `RedfishEvent` subscription is expected to be persistent over bmc reboot or bmcweb restart. However, the properties on PATCH are currently not persistent after reboot or bmcweb restart.
This commit is to sync those properties to the persistent store after PATCH.
In addition, this commit fixes a missing `id` copy when a new UserSubscription is created in [1] (introduced by [2]). As a result, it may cause the following messages during bmcweb start after subscription POST or PATCH like ``` Oct 16 14:37:34 p10bmc systemd[1]: Started Start bmcwebd server. Oct 16 14:37:34 p10bmc bmcwebd[15320]: [ERROR event_service_store.hpp:253] Subscription missing required field information, refusing to restore Oct 16 14:37:34 p10bmc bmcwebd[15320]: [ERROR persistent_data.hpp:166] Problem reading subscription from persistent store ``` After this, those subscriptions become lost.
Tested:
1. Subscription PATCH
- Create a subscription (e.g. use Redfish-Service-Validator).
- GET subscription and check the properties ``` SUBID=<id> curl -k -X GET https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} ```
- PATCH subscription with a different value. ``` curl -k -X PATCH https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} \ -H "Content-Type: application/json" -d '{"DeliveryRetryPolicy":"RetryForever"}' ```
- Reboot BMC or restart bmcweb
- GET subscription and check the properties ``` curl -k -X GET https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} ````
Before the fix, the property values are the same as before PATCH. After the fix, the last patched property values will be kept.
2. Redfish Service Validator passes
[1] https://github.com/openbmc/bmcweb/blob/21a94d5cd4be74a85c978c0cd63e4c633093c531/redfish-core/include/event_service_manager.hpp#L812 [2] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/65720
Change-Id: If5d2f622cc945faa6999d1e3e70211e881e19a79 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
21a94d5c | 14-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Fix coredump during subscription
Commit 4b712a29debc1a0860cc04850b262203cad402a5 [1] a bug on missing the subscription copy from user persistent data when subscription object is created, and it may
Fix coredump during subscription
Commit 4b712a29debc1a0860cc04850b262203cad402a5 [1] a bug on missing the subscription copy from user persistent data when subscription object is created, and it may cause a bmcweb crash.
Tested:
- Create subscription (e.g. Redfish Event Listener)
- Create a dump ``` curl -k -X POST "https://${bmc}/redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData" \ -H "Content-Type: application/json" -d '{"DiagnosticDataType": "Manager"}'
curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0 ```
BMC journal will contain like ``` Oct 14 21:49:20 p10bmc bmcwebd[287]: terminate called after throwing an instance of 'std::bad_weak_ptr' Oct 14 21:49:20 p10bmc bmcwebd[287]: what(): bad_weak_ptr Oct 14 21:49:21 p10bmc systemd[1]: bmcweb.service: Main process exited, code=dumped, status=6/ABRT Oct 14 21:49:21 p10bmc systemd[1]: bmcweb.service: Failed with result 'core-dump'
``` [1] 4b712a29debc1a0860cc04850b262203cad402a5
Change-Id: I58479bb5e1f203fec60ad0971f0c750ab5695f14 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
afc474ae | 09-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Format readjson
clang-format may potentially reformat the readJson calls if they may have more keys or key names are longer. This makes formatting in a way that's readable by forcing to break a line
Format readjson
clang-format may potentially reformat the readJson calls if they may have more keys or key names are longer. This makes formatting in a way that's readable by forcing to break a line for each key using an empty-comment (`//`) each line.
It also allows trivially alphabetizing the list such that new additions are less likely to have merge conflicts.
Tested: - Check whitespace only. - Code compiles. - Redfish Service Validator with the same results before this
Change-Id: I3824a8c4faa9fa7c820d5d2fab6b565404926e2c Signed-off-by: Ed Tanous <etanous@nvidia.com> Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
6fe8751c | 20-Jul-2023 |
George Liu <liuxiwei@inspur.com> |
Implement TemperatureReadingsCelsius property for ThermalMetrics
The ThermalMetrics schema[1] provides for efficient thermal metric gathering for thermal sensors. The schema allows retrieving just t
Implement TemperatureReadingsCelsius property for ThermalMetrics
The ThermalMetrics schema[1] provides for efficient thermal metric gathering for thermal sensors. The schema allows retrieving just the thermal metrics with one Redfish URI. This prevents the additional work required when returning all the sensor data, or multiple Redfish URI calls to retrieve the properties for all of the thermal sensors.
This commit implements the TemperatureReadingsCelsius property of ThermalMetrics[1]. ThermalMetrics is a property of ThermalSubsystem[2]. TemperatureReadingsCelsius is a SensorArrayExcerpt[3].
[1] https://redfish.dmtf.org/schemas/v1/ThermalMetrics.v1_0_1.json [2] https://redfish.dmtf.org/schemas/v1/ThermalSubsystem.v1_3_2.json [3] http://redfish.dmtf.org/schemas/v1/Sensor.v1_9_0.json#/definitions/SensorArrayExcerpt
The temperature sensors are found by finding 'all_sensors' endpoints for specific chassis of D-Bus service /xyz/openbmc_project/sensors/temperature. An entry of SensorArrayExcerpt is built for each temperature sensor retrieved.
Implementation Notes: - Common function sensor_utils::objectPropertiesToJson() is used to fill in sensor excerpt properties. Currently the only excerpt ChassisSubNode is ThermalMetrics. However there are others excerpts defined by Redfish. Right now mostly this is just skipping things, but I'm expecting when other sensor excerpts are implemented that some of the other properties may be added for excerpts as well. I'm expecting the combination of the chassisSubNode and the sensorType will be used to determine which properties are included for a particular call to build a sensor Json representation. - New sensor_utils::objectExcerptToJson() function created. This wraps sensor_utils::objectPropertiesToJson() and builds DataSourceUri for a sensor excerpt. - New sensor_utils::getAllSensorObjects() function created. This builds list of 'all_sensors' association endpoints for specified D-Bus path with specified D-Bus interfaces. Callback function is called with list for handling sensors.
Tested: 1. Redfish Service Validator passed. 2. doGet method: ``` curl -k -H "X-Auth-Token: ${token}" -X GET https://${bmc}/redfish/v1/Chassis/chassis/ThermalSubsystem/ThermalMetrics { "@odata.id": "/redfish/v1/Chassis/chassis/ThermalSubsystem/ThermalMetrics", "@odata.type": "#ThermalMetrics.v1_0_1.ThermalMetrics", "Id": "ThermalMetrics", "Name": "Thermal Metrics", "TemperatureReadingsCelsius": [ { "DataSourceUri": "/redfish/v1/Chassis/chassis/Sensors/temperature_ps0_temp0", "Reading": -131072000.0 }, { "DataSourceUri": "/redfish/v1/Chassis/chassis/Sensors/temperature_ps0_temp1", "Reading": -131072000.0 }, { "DataSourceUri": "/redfish/v1/Chassis/chassis/Sensors/temperature_ps0_temp2", "Reading": -131072000.0 }, { "DataSourceUri": "/redfish/v1/Chassis/chassis/Sensors/temperature_ps1_temp0", "Reading": -131072000.0 }, { "DataSourceUri": "/redfish/v1/Chassis/chassis/Sensors/temperature_ps1_temp1", "Reading": -131072000.0 }, { "DataSourceUri": "/redfish/v1/Chassis/chassis/Sensors/temperature_ps1_temp2", "Reading": -131072000.0 } ], "TemperatureReadingsCelsius@odata.count": 6 } ```
3. Verification of DataSourceUri: ``` curl -k -H "X-Auth-Token: ${token}" -X GET https://${bmc}/redfish/v1/Chassis/chassis/Sensors/temperature_ps1_temp0 { "@odata.id": "/redfish/v1/Chassis/chassis/Sensors/temperature_ps1_temp0", "@odata.type": "#Sensor.v1_2_0.Sensor", "Id": "temperature_ps1_temp0", "Name": "ps1 temp0", "Reading": -131072000.0, "ReadingType": "Temperature", "ReadingUnits": "Cel", "Status": { "Health": "OK", "State": "Enabled" } } ```
4. A bad chassis ID: ``` curl -k -H "X-Auth-Token: ${token}" -X GET https://${bmc}/redfish/v1/Chassis/chassisBAD/ThermalSubsystem/ThermalMetrics { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The requested resource of type Chassis named 'chassisBAD' was not found.", "MessageArgs": [ "Chassis", "chassisBAD" ], "MessageId": "Base.1.18.1.ResourceNotFound", "MessageSeverity": "Critical", "Resolution": "Provide a valid resource identifier and resubmit the request." } ], "code": "Base.1.18.1.ResourceNotFound", "message": "The requested resource of type Chassis named 'chassisBAD' was not found." } } ```
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I6e4ed1f281fd5371c978983b6cc5666badd3752c Signed-off-by: Janet Adkins <janeta@us.ibm.com>
show more ...
|
4b712a29 | 02-Aug-2023 |
Ed Tanous <edtanous@google.com> |
Move UserSubscription to composition
This allows for two very important simplifying changes. First, we can use the default copy operators on the UserSubscription class, which is far less error pron
Move UserSubscription to composition
This allows for two very important simplifying changes. First, we can use the default copy operators on the UserSubscription class, which is far less error prone than writing it manually, which we have two copies of in code already.
Second, it allows the Subscription class to move to using values rather than shared_ptr everywhere, which cleans up a significant amount of code.
Tested: Ran Redfish-Event-Listener, subscription created and destroyed correctly. Calling POST SubmitTestEvent showed events propagating to server.
Change-Id: I6d258cfe3594edddf3960ae2d4559d70acca1bf8 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
d8e2b618 | 08-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Fix PowerSupply GET error
The commit 3e42a3290ae35f05b30fa1863f44e95845577420[1] mistakenly handled a check of then given powersupply id, and caused Redfish Service Validator error.
Tested: - Verif
Fix PowerSupply GET error
The commit 3e42a3290ae35f05b30fa1863f44e95845577420[1] mistakenly handled a check of then given powersupply id, and caused Redfish Service Validator error.
Tested: - Verify GET ``` curl -k https://${bmc}/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply0 ```
- Redfish Service Validator on PowerSupplies passes ``` python3 RedfishServiceValidator.py --auth Session -i https://${bmc} -u ${user} -p ${password} \ --payload Tree /redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies ```
[1] https://github.com/openbmc/bmcweb/commit/3e42a3290ae35f05b30fa1863f44e95845577420
Change-Id: I9abfadc5f1ad5a0fd05e596190678aa804259045 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
89449bbe | 12-Aug-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service: update the updateable BMC
Update the updateable BMC rather than functional BMC because for dual image systems functional BMC is not updated in place.
Tested: ``` > curl -k -H "X-Aut
update service: update the updateable BMC
Update the updateable BMC rather than functional BMC because for dual image systems functional BMC is not updated in place.
Tested: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X POST -T obmc-phosphor-image-romulus-20240529184214.static.mtd.tar https://${bmc}/redfish/v1/UpdateService/update { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "Id": "0", "TaskState": "Running", "TaskStatus": "OK" } ```
Change-Id: Ia11bd276ba5ac1d849942b33a7b6c50e74335024 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
e9f12014 | 08-Oct-2024 |
Ed Tanous <etanous@nvidia.com> |
Add unit test for trailing slashes
Common error #9 requires that most urls end in a trailing slash. Given the redfish standard, we know that all redfish routes need to end in a trailing slash, so w
Add unit test for trailing slashes
Common error #9 requires that most urls end in a trailing slash. Given the redfish standard, we know that all redfish routes need to end in a trailing slash, so write a unit test that verifies that is true.
Despite code review, this appears to have snuck into the codebase in 4 different handlers. Fix those at the same time so the tests pass.
Tested: Unit tests pass.
Change-Id: I0299a7231662725a7100d5308b3977a549b49253 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
b5190062 | 10-Jul-2024 |
Hieu Huynh <hieuh@os.amperecomputing.com> |
Support ProductionDate report
DSP0268 Redfish Data Model Specification provides ProductionDate property for various schema. phosphor-dbus-interface [1] also supports BuildDate property which we can
Support ProductionDate report
DSP0268 Redfish Data Model Specification provides ProductionDate property for various schema. phosphor-dbus-interface [1] also supports BuildDate property which we can map from FRU data, like `Board Manufacturer Date`. This adds code to support which gets the date from BuildDate property and report via Redfish.
[1] https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Decorator/Asset.interface.yaml#L16
Tested: Redfish Validator passes
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com> Change-Id: Ie4ae564fa00218e7896f04ec61941fa92b23b912
show more ...
|
3e42a329 | 26-Jun-2024 |
Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
Refactor mapper calls to use getAssociatedSubTreePathsById
This commit refactors power_supply to use the new ObjectMapper method `getAssociatedSubTreePathsById`. Replaced the two separate mapper cal
Refactor mapper calls to use getAssociatedSubTreePathsById
This commit refactors power_supply to use the new ObjectMapper method `getAssociatedSubTreePathsById`. Replaced the two separate mapper calls `getValidChassisPath` and `getAssociatedSubTreePaths` with one call to `getAssociatedSubTreePathsById`.
Tested: Validator passed 1. List Powersupplies in the system
``` curl -k https://${bmc}/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies { "@odata.id": "/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies", "@odata.type": "#PowerSupplyCollection.PowerSupplyCollection", "Description": "The collection of PowerSupply resource instances.", "Members": [ { "@odata.id": "/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply0" }, { "@odata.id": "/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply1" }, { "@odata.id": "/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply2" }, { "@odata.id": "/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply3" } ], "Members@odata.count": 4, "Name": "Power Supply Collection" } ```
2. List powersupply0 properties
``` curl -k https://${bmc}/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply0 { "@odata.id": "/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply0", "@odata.type": "#PowerSupply.v1_5_0.PowerSupply", "EfficiencyRatings": [ { "EfficiencyPercent": 90 } ], "FirmwareVersion": "030303030303", "Id": "powersupply0", "Location": { "PartLocation": { "ServiceLabel": "U78DB.ND0.WZS002U-E0" } }, "LocationIndicatorActive": false, "Manufacturer": "", "Model": "2B1E", "Name": "Power Supply", "PartNumber": "03FP729", "SerialNumber": "YL30NH1BN229", "SparePartNumber": "03FP728", "Status": { "Health": "OK", "State": "Enabled" } } ```
3. Error condition, list unknown powersupply
``` curl -k https://${bmc}/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply8 { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The requested resource of type PowerSupplies named 'powersupply8' was not found.", "MessageArgs": [ "PowerSupplies", "powersupply8" ], "MessageId": "Base.1.13.0.ResourceNotFound", "MessageSeverity": "Critical", "Resolution": "Provide a valid resource identifier and resubmit the request." } ], "code": "Base.1.13.0.ResourceNotFound", "message": "The requested resource of type PowerSupplies named 'powersupply8' was not found." } } ```
4. Error condition, list unknown invalid chassis ``` curl -k https://${bmc}/redfish/v1/Chassis/InvalidChassis/PowerSubsystem/PowerSupplies/powersupply0 { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The requested resource of type Chassis named 'InvalidChassis' was not found.", "MessageArgs": [ "Chassis", "InvalidChassis" ], "MessageId": "Base.1.18.1.ResourceNotFound", "MessageSeverity": "Critical", "Resolution": "Provide a valid resource identifier and resubmit the request." } ], "code": "Base.1.18.1.ResourceNotFound", "message": "The requested resource of type Chassis named 'InvalidChassis' was not found." } } ```
Change-Id: I07043b15cbfa0ac9a44cbf155fad3315eeacc859 Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com> Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
4e196b9a | 27-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
json utility: Update sort algorithms
Modified sort utility to be able to sort on a specified key. New utility function sortJsonArrayByKey() added.
Note: - Function odataObjectCmp() renamed to obje
json utility: Update sort algorithms
Modified sort utility to be able to sort on a specified key. New utility function sortJsonArrayByKey() added.
Note: - Function odataObjectCmp() renamed to objectKeyCmp() - New function odataObjectCmp() created which calls objectKeyCmp() with @odata.id key specified. - Comments for odataObjectCmp() didn't match behavior for object without key. These objects are sorted as less than objects with the key. - sortJSONResponse() modified to use the new sortJsonArrayByKey().
Tested: - Added new unit tests. These tests are in addition to the existing tests. So they focus on testing comparing by different keys. The existing tests already cover the different permutations of the basic comparisons. - Redfish Service validator passes
Change-Id: I949b7cb868c59a8eeda3798e6a82a1572bbc5792 Signed-off-by: Ed Tanous <etanous@nvidia.com> Signed-off-by: Janet Adkins <janeta@us.ibm.com>
show more ...
|
d3e0859c | 27-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Change-Id: I1c12dfb9df9e4a86e4c13ec16bbf8beeff6edb10 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
26d3b0fb | 23-Sep-2024 |
Chandra Harkude <Chandramohan.harkude@gmail.com> |
Fix error codes
Changes added : Added error code for invalid certificate
Problem : When Invalid certificate was passed to replace certificate It was throwing error Internal error
Below is the redf
Fix error codes
Changes added : Added error code for invalid certificate
Problem : When Invalid certificate was passed to replace certificate It was throwing error Internal error
Below is the redfishtool log:
redfishtool: Transport: Response Error: status_code: 500 -- Internal Error redfishtool: raw: Error sending POST to resource, aborting
Solution : Return proper error code that is 400 -- Bad Request
Tested : I tested with redfish tool and below is the log with correct error code
redfishtool: Transport: Response Error: status_code: 400 -- Bad Request redfishtool: raw: Error sending POST to resource, aborting
Change-Id: I71e7a72a4c156dc80321641f279c20aff4bd6df1 Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
show more ...
|
a14c9113 | 04-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Add extra subscription params support
OriginResource allows filtering messages on a per-device basis. This was already listed as supported in our docs.
RegistryPrefixes is also added.
Tested: Uni
Add extra subscription params support
OriginResource allows filtering messages on a per-device basis. This was already listed as supported in our docs.
RegistryPrefixes is also added.
Tested: Unit tests pass.
Change-Id: Idfde8416f2f466ce11957177e052b540fc669888 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
262dcc1c | 19-Sep-2024 |
Alexander Hansen <alexander.hansen@9elements.com> |
event logs: introduce struct DbusEventLogEntry
This creates a partial representation of dbus interface xyz.openbmc_project.Logging.Entry as a struct.
There is also a function to extract it from dbu
event logs: introduce struct DbusEventLogEntry
This creates a partial representation of dbus interface xyz.openbmc_project.Logging.Entry as a struct.
There is also a function to extract it from dbus.
Which helps to refactor function fillEventLogLogEntryFromPropertyMap to be smaller.
Tested: not tested, simple refactoring. All the data types remain the same as before.
Change-Id: Ib32cac967bde487b137ceaf845dfb682e605a175 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
8812e8be | 18-Sep-2024 |
Paul Fertser <fercerpav@gmail.com> |
Do not remove wrong cookies on Session DELETE
When a web interface sends a DELETE request for a session other than it's using itself the reply shouldn't ask the web browser to delete the cookies and
Do not remove wrong cookies on Session DELETE
When a web interface sends a DELETE request for a session other than it's using itself the reply shouldn't ask the web browser to delete the cookies and to clear the site data.
Tested: logging in to BMC, observing the session identifier returned by POST to Sessions, then opening another private window and logging in on the same BMC, getting another session ID. Then navigating to "Security and access -> Sessions" and pressing "Disconnect" button for the session opened in the first window just deletes the session normally and the web interface of the second private window that performed the operation continued to work. Pressing "Log out" deletes the current session and the web browser gets expected cookie and site data clearing headers. Before the patch the same test made the second private window lose its cookies essentially terminating both sessions instead of just the other one.
Fixes: 29aab242f2d3 ("Send cookies to webui-vue from Sessions POST") Change-Id: If3f81764cb825253b9d6e1c7589340e6dc018a81 Signed-off-by: Paul Fertser <fercerpav@gmail.com>
show more ...
|
d51c61b4 | 13-Sep-2024 |
Myung Bae <myungbae@us.ibm.com> |
Fix status for non-existent JsonSchema FileGet
This will fix the incorrect status 500 to status 404 for the non-eixstent JsonSchema FileGet.
``` % redfishtool raw GET -r ${bmc} -u root -p 0penBmc
Fix status for non-existent JsonSchema FileGet
This will fix the incorrect status 500 to status 404 for the non-eixstent JsonSchema FileGet.
``` % redfishtool raw GET -r ${bmc} -u root -p 0penBmc -S Always /redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.v1_99_1.json redfishtool: Transport: Response Error: status_code: 500 -- Internal Server Error redfishtool: raw: Error getting response ```
This commit also refactor `Response::openFile()` to return `ec` so that the caller can check the reason of the failure.
Tested: - Verify redfishtool result for the non-existent JsonSchema file like ``` % redfishtool raw GET -r ${bmc} -u root -p 0penBmc -S Always /redfish/v1/JsonSchemas/<schema>/<non-existent-schema>.json redfishtool: Transport: Response Error: status_code: 404 -- Not Found redfishtool: raw: Error getting response ``` - Redfish Service validator passes
Change-Id: I98927c076bb6e7dfb3742183b4b3545e328d2657 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
fe37ddaf | 12-Sep-2024 |
Myung Bae <myungbae@us.ibm.com> |
Fix 404 status from JsonSchemas FileGet
This will fix the 404 error from JsonSchema FileGet
``` redfishtool raw GET -r ${bmc} -u root -p 0penBmc -S Always /redfish/v1/JsonSchemas/ComputerSystem/C
Fix 404 status from JsonSchemas FileGet
This will fix the 404 error from JsonSchema FileGet
``` redfishtool raw GET -r ${bmc} -u root -p 0penBmc -S Always /redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.v1_22_2.json redfishtool: Transport: Response Error: status_code: 404 -- Not Found redfishtool: raw: Error getting response ```
Tested: - Get `/redfish/v1/JsonSchemas/<schema>/<schema>` and use its `Location/Uri` for the next redfishtool - Verify redfishtool result like ``` redfishtool raw GET -r ${bmc} -u root -p 0penBmc -S Always /redfish/v1/JsonSchemas/<schema>/<schema>.<version>.json ``` - Redfish Service validator passes
Change-Id: I0ca443177537d0a73a31a7195deb3cfb028c49b5 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
6be832e2 | 10-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Remove duplicated block comments
Static analysis flags that these two comments are redundant[1], which seem to be duplicated a lot in copyright headers. Although there is a larger discussion that c
Remove duplicated block comments
Static analysis flags that these two comments are redundant[1], which seem to be duplicated a lot in copyright headers. Although there is a larger discussion that can likely be had.
[1] https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&id=edtanous_bmcweb&open=AY9_HYjgKXKyw1ZFwgVP
Tested: Comment change only. Code compiles.
Change-Id: Ia960317761f558a87842347ca0b5f3da63f8e730 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
8759961c | 11-Sep-2024 |
Myung Bae <myungbae@us.ibm.com> |
Fix EventDesition schema version usage
EventService Subscription adds `VerifyCertificate`, but it needs to use #EventDestination schema version 1.9.0 [1] or higher.
Before the fix, Redfish Service
Fix EventDesition schema version usage
EventService Subscription adds `VerifyCertificate`, but it needs to use #EventDestination schema version 1.9.0 [1] or higher.
Before the fix, Redfish Service Validator gives the error like
``` 1 failAdditional errors in /redfish/v1/EventService/Subscriptions/4022728919 1 fails errors in /redfish/v1/EventService/Subscriptions/4022728919 ERROR - VerifyCertificate not defined in schema EventDestination.v1_8_0 (check version, spelling and casing) ```
Tested: - Redfish Service Validator passes
[1] http://redfish.dmtf.org/schemas/v1/EventDestination.v1_9_0.json
Change-Id: Id9ece4bd1b69aaa004ab6db863900942023c09ec Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
ab0d4390 | 03-Sep-2024 |
Ravi Teja <raviteja28031990@gmail.com> |
Fix IPv6 static default gateway
This commit updates IPv6 static default gateway implementation to use updated D-bus interfaces
PrefixLength property removed from StaticGateway D-bus interface https
Fix IPv6 static default gateway
This commit updates IPv6 static default gateway implementation to use updated D-bus interfaces
PrefixLength property removed from StaticGateway D-bus interface https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/71271
Tested by: -d '{"IPv6StaticDefaultGateways": [{"Address": "2006:905:15F:36:10:10:3:1"}]}' -d '{"IPv6StaticDefaultGateways": [{},{"Address": "2007:905:18F:36:10:9:5:1"}]}'
Change-Id: Ia90605d65652990f13c442bb21e2d796e6660587 Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
4ff0f1f4 | 04-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
static -> inline
Declaring a function static in a header makes no sense, because a header isn't a compile unit. Find all the issues and replace them with inline.
Change-Id: Icfc2b72d94b41a3a880da1
static -> inline
Declaring a function static in a header makes no sense, because a header isn't a compile unit. Find all the issues and replace them with inline.
Change-Id: Icfc2b72d94b41a3a880da1ae6975beaa30a6792b Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
f836c1d8 | 06-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix static analysis
Making these const means that we can no longer use std::move on this struct, which static analysis flags.
[1] https://sonarcloud.io/project/issues?impactSeverities=HIGH&issueSta
Fix static analysis
Making these const means that we can no longer use std::move on this struct, which static analysis flags.
[1] https://sonarcloud.io/project/issues?impactSeverities=HIGH&issueStatuses=OPEN%2CCONFIRMED&tags=since-c%2B%2B11&types=CODE_SMELL&id=edtanous_bmcweb&open=AZHJOZJsIkxRoiGIkzZz
Change-Id: I10c33f37ce14650962a7840729d75639ee8edb2e Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
4e0d8789 | 06-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix std::forwards
Static analyzer flags that these are wrong. Should only std::forward on the same thing that's passed
[1] https://sonarcloud.io/project/issues?severities=BLOCKER%2CCRITICAL%2CMAJO
Fix std::forwards
Static analyzer flags that these are wrong. Should only std::forward on the same thing that's passed
[1] https://sonarcloud.io/project/issues?severities=BLOCKER%2CCRITICAL%2CMAJOR%2CMINOR&sinceLeakPeriod=true&issueStatuses=OPEN%2CCONFIRMED&types=BUG&id=edtanous_bmcweb&open=AZHJOZJsIkxRoiGIkzaq
Change-Id: Ib2b77a0c56e5dbf9e0d038f0eb1361ccce7ac1d9 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
a0735a4e | 06-Sep-2024 |
Gunnar Mills <gmills@us.ibm.com> |
User creation: Add EC to Log
On an internal error, having the error code from D-Bus is really helpful to debug. A trace before an internal error without the ec, is pretty pointless so make this trac
User creation: Add EC to Log
On an internal error, having the error code from D-Bus is really helpful to debug. A trace before an internal error without the ec, is pretty pointless so make this trace useful.
Tested: None. Inspection only.
Change-Id: I953e5bcbbba197b158beabdb55f57b4fd3d73125 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|