#
5ac5a2f4
|
| 04-Jan-2022 |
Gunnar Mills <gmills@us.ibm.com> |
Bump Chassis schema to fix error
https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/48719 added support for the Chassis SparePartNumber. SparePartNumber was added to the Chassis schema in v1_16_0
Bump Chassis schema to fix error
https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/48719 added support for the Chassis SparePartNumber. SparePartNumber was added to the Chassis schema in v1_16_0 so need to bump the Chassis schema.
Bumped to v1_16_0 instead of the latest (v1_18_0) due to old guidance from Redfish "only bump the schema if you need to". I.e. only bump if using some property, etc in the schema. bmcweb has followed this.
The validator flags this as: ERROR - SparePartNumber not defined in schema Chassis.v1_14_0 (check version, spelling and casing)
From https://redfish.dmtf.org/schemas/v1/Chassis.v1_18_0.json: "SparePartNumber": { "description": "The spare part number of the chassis.", ... "versionAdded": "v1_16_0" },
Tested: None yet. WIP. Change-Id: I31d0bd388c4d9c787276de7b1be3fc95586e8bd2 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
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 ...
|
#
caa11f7a
|
| 09-Nov-2021 |
Alpana Kumari <alpankum@in.ibm.com> |
Add Spare Part Number for Chassis
Spare part number field is missing from Chassis URI via Redfish This commit added that.
Test: curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${bmc}:${por
Add Spare Part Number for Chassis
Spare part number field is missing from Chassis URI via Redfish This commit added that.
Test: curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${bmc}:${port}/redfish/v1/Chassis/chassis { "@odata.id": "/redfish/v1/Chassis/chassis", "@odata.type": "#Chassis.v1_14_0.Chassis", "Actions": { "#Chassis.Reset": { "@Redfish.ActionInfo": "/redfish/v1/Chassis/chassis/ResetActionInfo", "target": "/redfish/v1/Chassis/chassis/Actions/Chassis.Reset" } }, "ChassisType": "RackMount", "Id": "chassis", ... "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND0.WZS0066" } }, "Manufacturer": "", "Model": "2E2D", "Name": "chassis", ... "PartNumber": "03KP024", ... "PowerState": "Off", ... "SerialNumber": "YF32UF18C00A", "SparePartNumber": "02WG677", <-------------------SparePartNumber "Status": { "Health": "OK", "HealthRollup": "OK", "State": "StandbyOffline" },
Signed-off-by: Alpana Kumari <alpankum@in.ibm.com> Change-Id: Ia29c8d76b3c110f150cd7dbaf7937a0bc9922b98
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 ...
|
#
997093eb
|
| 17-Nov-2021 |
George Liu <liuxiwei@inspur.com> |
chassis: Remove boost::ends_with method
The boost::ends_with method should be replaced with sdbusplus::message::object_path.
Tested: curl -k https://$bmc/redfish/v1/Chassis/chassis { "@odata.id":
chassis: Remove boost::ends_with method
The boost::ends_with method should be replaced with sdbusplus::message::object_path.
Tested: curl -k https://$bmc/redfish/v1/Chassis/chassis { "@odata.id": "/redfish/v1/Chassis/chassis", "@odata.type": "#Chassis.v1_14_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" } ] }, "Manufacturer": "", "Model": "23", "Name": "chassis", "PCIeDevices": { "@odata.id": "/redfish/v1/Systems/system/PCIeDevices" }, "PartNumber": "", "Power": { "@odata.id": "/redfish/v1/Chassis/chassis/Power" }, "PowerState": "Off", "Sensors": { "@odata.id": "/redfish/v1/Chassis/chassis/Sensors" }, "SerialNumber": "", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "StandbyOffline" }, "Thermal": { "@odata.id": "/redfish/v1/Chassis/chassis/Thermal" } }
curl -k https://$bmc/redfish/v1/Chassis/chassis15363 { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The requested resource of type #Chassis.v1_14_0.Chassis named chassis15363 was not found.", "MessageArgs": [ "#Chassis.v1_14_0.Chassis", "chassis15363" ], "MessageId": "Base.1.8.1.ResourceNotFound", "MessageSeverity": "Critical", "Resolution": "Provide a valid resource identifier and resubmit the request." } ], "code": "Base.1.8.1.ResourceNotFound", "message": "The requested resource of type #Chassis.v1_14_0.Chassis named chassis15363 was not found." } }
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ieb9e9b02f1d66529e237815610365c33d7d8a079
show more ...
|
#
308f70c7
|
| 28-Sep-2021 |
Willy Tu <wltu@google.com> |
chassis: refactor chassis property to prepare for future support
Move `LocationCode` and `UUID` to a method to cleanup the the main Chassis handler.
Tested: RedfishValidator Passed
``` *** /redfis
chassis: refactor chassis property to prepare for future support
Move `LocationCode` and `UUID` to a method to cleanup the the main Chassis handler.
Tested: RedfishValidator Passed
``` *** /redfish/v1/Chassis/chassis0 INFO - Type (#Chassis.v1_14_0.Chassis), GET SUCCESS (time: 0.405691) WARNING - Thermal: The given property is deprecated by revision: This link has been deprecated in favor of the ThermalSubsystem link property. WARNING - Power: The given property is deprecated by revision: This link has been deprecated in favor of the PowerSubsystem link property. INFO - PASS INFO - ...
*** /redfish/v1/Chassis/chassis1 INFO - Type (#Chassis.v1_14_0.Chassis), GET SUCCESS (time: 0.406565) WARNING - Thermal: The given property is deprecated by revision: This link has been deprecated in favor of the ThermalSubsystem link property. WARNING - Power: The given property is deprecated by revision: This link has been deprecated in favor of the PowerSubsystem link property. INFO - PASS INFO - *** /redfish/v1/Chassis/chassis1/Sensors INFO - Type (#SensorCollection.SensorCollection), GET SUCCESS (time: 0.358176) INFO - PASS INFO - *** /redfish/v1/Chassis/chassis1/ResetActionInfo INFO - Type (#ActionInfo.v1_1_2.ActionInfo), GET SUCCESS (time: 0.369962) INFO - PASS ... ```
Example, ``` $ curl -u root:0penBmc -X GET http://localhost:3967/redfish/v1/Chassis/chassis1 { "@odata.id": "/redfish/v1/Chassis/chassis1", "@odata.type": "#Chassis.v1_14_0.Chassis", "Actions": { "#Chassis.Reset": { "@Redfish.ActionInfo": "/redfish/v1/Chassis/chassis1/ResetActionInfo", "target": "/redfish/v1/Chassis/chassis1/Actions/Chassis.Reset" } }, "ChassisType": "RackMount", "Id": "chassis1", "Links": { "ComputerSystems": [ { "@odata.id": "/redfish/v1/Systems/system" } ], "ManagedBy": [ { "@odata.id": "/redfish/v1/Managers/bmc" } ] }, "Location": { "PartLocation": { "ServiceLabel": "PE0" } }, "Manufacturer": "manufacturer1", "Model": "model1", "Name": "chassis1", "PCIeDevices": { "@odata.id": "/redfish/v1/Systems/system/PCIeDevices" }, "Power": { "@odata.id": "/redfish/v1/Chassis/chassis1/Power" }, ... } ```
Change-Id: I7a26530d3d718ce8fbf4182ee565f9fe9d94c5b5 Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
54fbf177
|
| 11-Nov-2021 |
Andrew Geissler <geissonator@yahoo.com> |
reduce error traces in priv and chassis code
These are not error paths so do not log them as errors
Tested: - None other then CI. Changes are very simple.
Change-Id: I65b99b466ba2d59c304cd80c88c2c
reduce error traces in priv and chassis code
These are not error paths so do not log them as errors
Tested: - None other then CI. Changes are very simple.
Change-Id: I65b99b466ba2d59c304cd80c88c2c81b940829b9 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
#
476b9cc5
|
| 04-Jun-2021 |
Tejas Patil <tejaspp@ami.com> |
Add support for AssetTag in Chassis
This commit adds the GET support for "AssetTag" property under "/redfish/v1/Chassis/<str>/" Redfish URI.
This property indicates the AssestTag of the Chassis for
Add support for AssetTag in Chassis
This commit adds the GET support for "AssetTag" property under "/redfish/v1/Chassis/<str>/" Redfish URI.
This property indicates the AssestTag of the Chassis for the inventory purposes. As Redfish Service supports for multiple Chassis instances, so each Chassis instance will have it's own AssetTag, which can be used to track each chassis for the inventory purposes.
Tested:
- Redfish Validator Test passed.
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/redfish/v1/Chassis/WFP_Baseboard { "@odata.id": "/redfish/v1/Chassis/WFP_Baseboard", "@odata.type": "#Chassis.v1_14_0.Chassis", "Actions": { "#Chassis.Reset": { "@Redfish.ActionInfo": "/redfish/v1/Chassis/WFP_Baseboard/ResetActionInfo", "target": "/redfish/v1/Chassis/WFP_Baseboard/Actions/Chassis.Reset" } }, "AssetTag": "abc", "ChassisType": "RackMount", "Id": "WFP_Baseboard", "IndicatorLED": "Off", "IndicatorLED@Redfish.AllowableValues": [ "Lit", "Blinking", "Off" ], "Links": { "ComputerSystems": [ { "@odata.id": "/redfish/v1/Systems/system" } ], "ManagedBy": [ { "@odata.id": "/redfish/v1/Managers/bmc" } ] }, "LocationIndicatorActive": false, "Manufacturer": "Intel Corporation", "Model": "S2600WFT", "Name": "WFP_Baseboard", "PCIeDevices": { "@odata.id": "/redfish/v1/Systems/system/PCIeDevices" }, "PartNumber": "..........", "Power": { "@odata.id": "/redfish/v1/Chassis/WFP_Baseboard/Power" }, "PowerState": "On", "Sensors": { "@odata.id": "/redfish/v1/Chassis/WFP_Baseboard/Sensors" }, "SerialNumber": "............", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Thermal": { "@odata.id": "/redfish/v1/Chassis/WFP_Baseboard/Thermal" } }
Signed-off-by: Tejas Patil <tejaspp@ami.com> Change-Id: I2b0808fcc29057e352581f018ef55564597c7456
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 ...
|
#
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 ...
|
#
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 ...
|
#
2c37b4b0
|
| 10-May-2021 |
Sharad Yadav <sharady@nvidia.com> |
Chassis: Add UUID property
This commit adds the support for implementing the "UUID" property as defined in the Redfish Chassis schema.
UUID will enable further platform/board specific monitoring an
Chassis: Add UUID property
This commit adds the support for implementing the "UUID" property as defined in the Redfish Chassis schema.
UUID will enable further platform/board specific monitoring and control.
Redfish validator passed.
Tested: $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/redfish/v1/Chassis/GPU1 { "@odata.id": "/redfish/v1/Chassis/GPU1", "@odata.type": "#Chassis.v1_14_0.Chassis", "Id": "GPU1", "Name": "GPU1", "UUID": "7b6e8e55-f0d5-4a9f-84a3-61635a3bc232" }
Signed-off-by: Sharad Yadav <sharady@nvidia.com> Change-Id: If73b424e171629b8ebb9b68cc81aadf841813a58
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 ...
|
#
ffed87b5
|
| 26-Apr-2021 |
Ed Tanous <edtanous@google.com> |
Fix chassis handler to use filename()
A common anti pattern is using endswith or contains. This got compounded recently because of https://github.com/openbmc/sdbusplus/issues/60 where filename now
Fix chassis handler to use filename()
A common anti pattern is using endswith or contains. This got compounded recently because of https://github.com/openbmc/sdbusplus/issues/60 where filename now contains decoding logic.
This at least should fix the issue to make the Redfish tree walkable again.
Tested: Loaded up a WFP_Baseboard on qemu, and verified that /redfish/v1/Chassis/WFP_Baseboard traversed correctly.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I55cc389a773e4b594668a4bca466efc33cc9cb7c
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 ...
|
#
88ad7f03
|
| 03-Dec-2020 |
SunnySrivastava1984 <sunnsr25@in.ibm.com> |
Chassis Location property on bmcweb
This commit implements change to publish LocationCode property for Chassis on bmcweb. Location code of Motherboard FRU is published via chassis schema.
LocationC
Chassis Location property on bmcweb
This commit implements change to publish LocationCode property for Chassis on bmcweb. Location code of Motherboard FRU is published via chassis schema.
LocationCode, a free form, implementation-defined string to provide the location. This is needed so an implementation can identify the FRU via system diagrams.
Validator has been executed and no new error has been found.
Sample output: { "@odata.id": "/redfish/v1/Chassis/chassis", "@odata.type": "#Chassis.v1_14_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" } ] }, "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND1.1234567" } }, "Manufacturer": "", "Model": "", "Name": "chassis", "PCIeDevices": { "@odata.id": "/redfish/v1/Systems/system/PCIeDevices" }, "PartNumber": "PN12345", "Power": { "@odata.id": "/redfish/v1/Chassis/chassis/Power" }, "PowerState": "Off", "Sensors": { "@odata.id": "/redfish/v1/Chassis/chassis/Sensors" }, "SerialNumber": "BBBE2D010000", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "StandbyOffline" }, "Thermal": { "@odata.id": "/redfish/v1/Chassis/chassis/Thermal" } }
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com> Change-Id: Ib248b79156e8b04664e89e37bae49d4574e97086
show more ...
|
#
d6aa0093
|
| 25-Nov-2020 |
Gunnar Mills <gmills@us.ibm.com> |
IndicatorLED: Add a deprecated warning header
Added a warning header when IndicatorLED is patched telling the client it is deprecated and pointing to LocationIndicatorActive.
Used the warning synta
IndicatorLED: Add a deprecated warning header
Added a warning header when IndicatorLED is patched telling the client it is deprecated and pointing to LocationIndicatorActive.
Used the warning syntax from https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Warning
Tested: curl -X PATCH -v -d '{ "IndicatorLED":"Off"}' \ -k https://$bmc/redfish/v1/Systems/system ... < HTTP/1.1 204 No Content < Warning: 299 - "IndicatorLED is deprecated. Use LocationIndicatorActive instead." < Strict-Transport-Security: max-age=31536000; includeSubdomains; preload < X-Frame-Options: DENY
Change-Id: Ic25a02508b0a1bcada1fa71ffa413c493fad00c4 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
9f8bfa7c
|
| 28-Sep-2020 |
Gunnar Mills <gmills@us.ibm.com> |
Add new Location Indicator property
In ComputerSystem 1.13 and Chassis 1.14 as well as in many other schemas IndicatorLED is replaced with LocationIndicatorActive.
LocationIndicatorActive is a bool
Add new Location Indicator property
In ComputerSystem 1.13 and Chassis 1.14 as well as in many other schemas IndicatorLED is replaced with LocationIndicatorActive.
LocationIndicatorActive is a bool while IndicatorLED had 3 states: Lit, Blink, and off. Map Lit and Blink both to LocationIndicatorActive true.
led.hpp was calling both enclosure_identify_blink and enclosure_identify, continue this.
Keep the deprecated IndicatorLED and implement the new LocationIndicatorActive property. Have both properties for the time being. This new property makes the same calls.
This does add a new Redfish warning for the deprecated IndicatorLED. Other warning are there today.
Tested: Validator passes Could use help testing on Chassis. Our systems don't have a IndicatorLED on chassis. See chassis bumped. curl -k https://$bmc/redfish/v1/Systems/system { "@odata.id": "/redfish/v1/Systems/system", "@odata.type": "#ComputerSystem.v1_13_0.ComputerSystem", ... "IndicatorLED": "Off", "LastResetTime": "2020-10-29T09:01:03+00:00", "Links": { "Chassis": [ { "@odata.id": "/redfish/v1/Chassis/chassis" } ], "ManagedBy": [ { "@odata.id": "/redfish/v1/Managers/bmc" } ] }, "LocationIndicatorActive": false,
curl -X PATCH -d '{ "LocationIndicatorActive":true}' -k \ https://$bmc/redfish/v1/Systems/system
curl -X PATCH -d '{ "IndicatorLED":"Off"}' -k \ https://$bmc/redfish/v1/Systems/system
Change-Id: I105bed5794912c575aa9a00e0442461bfdee6180 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
f23b7296
|
| 15-Oct-2020 |
Ed Tanous <ed@tanous.net> |
Turn on ALL perf checks
1st, alphabetize the tidy-list for good housekeeping.
Next, enable all the clang-tidy performance checks, and resolve all the issues. most of the issues boil down to: 1. Us
Turn on ALL perf checks
1st, alphabetize the tidy-list for good housekeeping.
Next, enable all the clang-tidy performance checks, and resolve all the issues. most of the issues boil down to: 1. Using std::move on const variables. This does nothing. 2. Passing big variables (like std::string) by value. 3. Using double quotes on a find call, which constructs an intermediate string, rather than using the character overload.
Tested Loaded on system, logged in successfully and pulled down webui-vue. No new errors.
Walked the Redfish tree a bit, and observed no new problems.
Ran redfish service validator. Got no new failures (although there are a lot of log service deprecation warnings that we should look at).
Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: I2238958c4b22c1e554e09a0a1787c744bdbca43e
show more ...
|
#
02f6ff19
|
| 14-Oct-2020 |
Gunnar Mills <gmills@us.ibm.com> |
Chassis Collection: Use getCollectionMembers
Improves code reuse.
Tested: Validator passes. curl -k https://$bmc/redfish/v1/Chassis/ { "@odata.id": "/redfish/v1/Chassis", "@odata.type": "#Chass
Chassis Collection: Use getCollectionMembers
Improves code reuse.
Tested: Validator passes. curl -k https://$bmc/redfish/v1/Chassis/ { "@odata.id": "/redfish/v1/Chassis", "@odata.type": "#ChassisCollection.ChassisCollection", "Members": [ { "@odata.id": "/redfish/v1/Chassis/chassis" }, { "@odata.id": "/redfish/v1/Chassis/motherboard" } ], "Members@odata.count": 2, "Name": "Chassis Collection"
Change-Id: Ie26f93faec9498124ab1d5747aed8300414b6d96 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
c3b3c92a
|
| 23-Sep-2020 |
Vijay Khemka <vijaykhemka@fb.com> |
Update Chassis power cycle support
Updated chassis power cycle support via redfish which will allow user to remove AC power of chassis and restore it back ungracefully if chassis_system0 interface i
Update Chassis power cycle support
Updated chassis power cycle support via redfish which will allow user to remove AC power of chassis and restore it back ungracefully if chassis_system0 interface is supported.
Tested: verified with following command curl -g -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/Chassis/TiogaPass_Baseboard/Actions/Chassis.Reset -d '{"ResetType": "PowerCycle"}'
Signed-off-by: Vijay Khemka <vijaykhemka@fb.com> Change-Id: I5368dbcdf96e526009cb3904b04791430bfeb413
show more ...
|
#
b5a76932
|
| 29-Sep-2020 |
Ed Tanous <ed@tanous.net> |
Lots of performance improvements
(In the voice of the kid from sixth sense) I see string copies...
Apparently there are a lot of places we make unnecessary copies. This fixes all of them.
Not sure
Lots of performance improvements
(In the voice of the kid from sixth sense) I see string copies...
Apparently there are a lot of places we make unnecessary copies. This fixes all of them.
Not sure how to split this up into smaller patches, or if it even needs split up. It seems pretty easy to review to me, because basically every diff is identical.
Change-Id: I22b4ae4f96f7e4082d2bc701098a04f7bed95369 Signed-off-by: Ed Tanous <ed@tanous.net> Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|
#
4841191f
|
| 11-Sep-2020 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Response with internal error on invalid Chassis path
Added verification of chassis path in case if received path is invalid. Response with internal error on wrong format of a path.
Tested: - Verif
Response with internal error on invalid Chassis path
Added verification of chassis path in case if received path is invalid. Response with internal error on wrong format of a path.
Tested: - Verify if chassis collection is filled properly - Verify if internal error is returned on wrong path - RedfishServiceValidator.py passes
Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com> Change-Id: Ibe2b9a12d0a5c2c05c9db502b65d2196851352b5
show more ...
|
#
90728b54
|
| 19-Aug-2020 |
Ed Tanous <ed@tanous.net> |
Fix minor regression in chassis
Despite error code checking generally being a good thing, this seems to cause a regression on systems that don't have an asset interface.
See https://gerrit.openbmc-
Fix minor regression in chassis
Despite error code checking generally being a good thing, this seems to cause a regression on systems that don't have an asset interface.
See https://gerrit.openbmc-project.xyz/c/openbmc/meta-phosphor/+/35711
for more details
Tested: Expecting CI to test, as it was the one that found the last corner case.
Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: Iae013b1d240852908dd5b0107aad8a0089b5961e
show more ...
|