b437a535 | 20-Dec-2024 |
Asmitha Karunanithi <asmitk01@in.ibm.com> |
account_service: Move to unpackproperty method
Change-Id: If677e2b4e9bd03b359913670d120f15d4a5f29b9 Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com> |
a64919e8 | 12-Dec-2024 |
Boleslaw Ogonczyk Makowski <boleslawx.ogonczyk-makowski@intel.com> |
Fix issues in MRD patch requests
After commit [1] 'null' value was being rejected with [json_utils.hpp] Value for key Metrics was incorrect type: null Using 'null' here seems to be one of the cases
Fix issues in MRD patch requests
After commit [1] 'null' value was being rejected with [json_utils.hpp] Value for key Metrics was incorrect type: null Using 'null' here seems to be one of the cases that [2] describes
Commit [3] fixed an issue where {} replaced "MetricProperties" of a metric with an empty array but introduced a different one - trying to replace a metric caused new values in "MetricProperties" to get added to old ones. if (metric.find("MetricProperties") == metric.end()) check was initially present in [4] but got removed at some point, re-adding it fixes the issue
Tested: Patch request to [5] with body: {"Metrics": [null]} no longer fails and deletes a metric Patch request with {"Metrics": [{}]} leaves metric unchanged Patch request with {"Metrics": [{"MetricProperties": ["<path_to_sensor>"]}]} updates metric properly, without appending to old "MetricProperties" values Patch requests containing mixed values also work correctly
[1]: b14f357f527eae05aa1bd7a115d3f6ed237a35bb [2]: 8099c51796bf6f94ad5fbb1f6844d700f498d3bb [3]: ba498310f761b3c0f475ecbdb293cf1386544a33 [4]: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/72319 [5]: https://<bmcip>/redfish/v1/TelemetryService/MetricReportDefinitions/<existing_mrd_name>
Change-Id: Ia3d4699784f493bd63a2df4d6edf5053760221e1 Signed-off-by: Boleslaw Ogonczyk Makowski <boleslawx.ogonczyk-makowski@intel.com>
show more ...
|
6e1a52fa | 15-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix setting gateways
There's a number of conditions in setting gateways that don't work properly. Specifically, one of the issues is setting a gateway on an address that already exists. It returns
Fix setting gateways
There's a number of conditions in setting gateways that don't work properly. Specifically, one of the issues is setting a gateway on an address that already exists. It returns a PropertyValueConflict error on Ipv4Addresses/1/Gateway with Ipv4Addresses/1/Gateway
Obviously an address can't conflict with itself, so this is wrong.
To address this, move the gateway setting and selection code into a routine outside of the main loop, after all the gateways are accounted for, and so we can treat them separately.
Tested; PATCH to an existing ip address works, and no longer returns the error.
More test cases likely needed.
Change-Id: I0339e02fc27164337416637153d0b0f744b64ad8 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
81ee0e74 | 20-Dec-2024 |
Chandramohan Harkude <Chandramohan.harkude@gmail.com> |
Update Submit Test event feature to send custom data
Changes Added : Updated the submit test event feature to send test data as per spec
https://www.dmtf.org/sites/default/files/standards/documents
Update Submit Test event feature to send custom data
Changes Added : Updated the submit test event feature to send test data as per spec
https://www.dmtf.org/sites/default/files/standards/documents/ DSP2046_2019.1.pdf
Testing :
Tested sending custom test data and same data received at the event listener Change-Id: I2c2363a676aafd39c121c9fe4e16402c0f5961e2 Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
show more ...
|
daadfb2e | 20-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix clang-tidy
Change-Id: Iefe1b695b86a640d8dfaafd1f77f374fa34246de Signed-off-by: Ed Tanous <etanous@nvidia.com> |
deae6a78 | 11-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Move getProperty calls to utility
Having all dbus calls run through the same utility reduces the amount of generated code, and more importantly, gives us a place where we can log the requests and re
Move getProperty calls to utility
Having all dbus calls run through the same utility reduces the amount of generated code, and more importantly, gives us a place where we can log the requests and responses to help with debugging.
Tested: Redfish service validator passes.
Change-Id: Ic1bf45130b5069cd57f7af26e12c8d3159c87c67 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
6a37140a | 03-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Put simple update behind an option
4e338b2313f9f2a91aa1fb36693e36a328d58933 Removed tftp update support from the codebase, but left SimpleUpdate in a non functional state.
Given that a number of fo
Put simple update behind an option
4e338b2313f9f2a91aa1fb36693e36a328d58933 Removed tftp update support from the codebase, but left SimpleUpdate in a non functional state.
Given that a number of forks have implemented the HTTPS/SCP versions of simple update, we don't want to fully delete the code at this time, so for the moment put it behind an option flag.
Tested: WIP
Change-Id: Ibab1e3a48ff640787eabf8ed5f7a5c08e3381307 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
19ea2864 | 10-Dec-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Always fall back to ChassisType RackMount
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/75914 added support for dynamic ChassisType. Before 75914, ChassisType was hardcoded to RackMount. If you impl
Always fall back to ChassisType RackMount
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/75914 added support for dynamic ChassisType. Before 75914, ChassisType was hardcoded to RackMount. If you implement Inventory.Item.Chassis the default Chassis Type is Unknown. Unknown in 75914 maps to Invalid and ChassisType is left off the Redfish Chassis resource. The Redfish Validator flags this as an error since ChassisType is a required property in the Chassis schema.
The implementations should be setting the ChassisType but let's get bmcweb bumps back on the rails and just set ChassisType = RackMount if there is an error or if the Chassis Type is something we can't map (like Unknown). This "your default ChassisType is RackMount" matches what we had before.
Tested: Inspection and unit tests only.
Change-Id: Id577be522be7c2d3463da9c497d9063a284a4d54 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
56b81992 | 02-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Make message registries use 2 digit versions
Redfish specification, section 9.5.11.2 says:
The MessageId property value shall be in the format: <MessageRegistryPrefix>.<MajorVersion>.<MinorVersion>
Make message registries use 2 digit versions
Redfish specification, section 9.5.11.2 says:
The MessageId property value shall be in the format: <MessageRegistryPrefix>.<MajorVersion>.<MinorVersion>.<MessageKey>
bmcweb in certain places has incorrectly used the 3 digit version instead of the 2 digit version. This commit fixes that by modifying the parse_registries script to generate 3 separate struct entries to represent the registry version, and parse them where appropriate.
MessageRegistryFileCollection uses the 3 digit version. No behavior changes. Message/event log entries use the 2 digit version. This will cause a MessageId change from: Base.1.19.0.InternalError to Base.1.19.InternalError
This is a breaking change, so a new option to allow the old behavior is provided.
Tested: Redfish Service validator passes. Heartbeat events on EventService show 2 digit versions.
Change-Id: I4165e994f73e200f13bed8ea76cb58bee2b69faa Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
be2f124c | 03-Dec-2024 |
Jishnu CM <jishnunambiarcm@duck.com> |
Extract reusable logic into separate function
Moved post session creation logic to new function called processAfterSessionCreation. This refactor improves code reuse for MFA changes in commit https:
Extract reusable logic into separate function
Moved post session creation logic to new function called processAfterSessionCreation. This refactor improves code reuse for MFA changes in commit https://gerrit.openbmc.org/c/openbmc/bmcweb/+/74938
Tested by: Created session with expired password. Verified password change is forced.
Created session with valid password.
Change-Id: Id91c53661c2c875c229cee9b5a6575560031ad75 Signed-off-by: Jishnu CM <jishnunambiarcm@duck.com>
show more ...
|
f7a26073 | 04-Dec-2024 |
Myung Bae <myungbae@us.ibm.com> |
Refactor Message Header and Url Selector
This is to refactor the access of header and url parts from MessageRegistry to reduce the replicated comparison of the registry name.
Tested: - GET /redfis
Refactor Message Header and Url Selector
This is to refactor the access of header and url parts from MessageRegistry to reduce the replicated comparison of the registry name.
Tested: - GET /redfish/v1/Registries/<str>/<str> like ``` - /redfish/v1/Registries/Base/Base - /redfish/v1/Registries/TaskEvent/TaskEvent - /redfish/v1/Registries/ResourceEvent/ResourceEvent - /redfish/v1/Registries/OpenBMC/OpenBMC - /redfish/v1/Registries/Telemetry/Telemetry ```
Change-Id: Id5806343709084292273e8021e0d0b4a114ac06f Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
fb546105 | 29-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Implement Subscription Heartbeat Logic
This implements the subscription heartbeat logic which will send the message `RedfishServiceFunctional` periodically with the interval of `HeartbeatIntervalMin
Implement Subscription Heartbeat Logic
This implements the subscription heartbeat logic which will send the message `RedfishServiceFunctional` periodically with the interval of `HeartbeatIntervalMinutes` specified in subscription property [1][2], if `SendHeartbeat` is enabled..
Note the heartbeat enablement is per event destination as DMTF specifies [3] like ``` ... This message shall only be sent if specifically requested by an event destination during the creation of a subscription... ```
This also add `HeartbeatEvent` to supported registry prefixes like ``` curl -k -X GET https://${bmc}/redfish/v1/EventService/ { ... "RegistryPrefixes": [ "Base", "OpenBMC", "TaskEvent", "HeartbeatEvent" ], "ResourceTypes": [ "Task", "Heartbeat" ], ```
Tested:
1) A single subscription and heartbeat via Redfish Event Listener
- Create a subscription via Redfish Event Listener - PATCH `SendHeartbeat=true` and `HeartbeatIntervalMinutes` like
``` curl -k -X PATCH https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} \ -H "Content-Type: application/json" \ -d '{"SendHeartbeat":true, "HeartbeatIntervalMinutes":1}' ```
- Monitor the Redfish Event Listener and check the following heartbeat messages periodically (per HeartbeatIntervalMinutes)
``` response_type: POST headers: {'Host': '9.3.62.209', 'Content-Length': '230'}
response={ "@odata.type": "#Event.v1_4_0.Event", "Events": [ { "@odata.type": "#Message.v1_1_1.Message", "EventId": "HeartbeatId", "EventTimestamp": "2024-11-21T12:21:47+00:00", "MemberId": "0", "Message": "Redfish service is functional.", "MessageArgs": [], "MessageId": "HeartbeatEvent.1.0.1.RedfishServiceFunctional", "MessageSeverity": "OK", "OriginOfCondition": "/redfish/v1/EventService/Subscriptions/1521743607", "Resolution": "None." } ], "Id": "HeartbeatId", "Name": "Event Log" } ```
- Change `SendHeartbeat` to false and see whether the heartbeat message is stopped.
2) Multiple sbscribers with the different heartbeat setups
- create 2 event listeners with 2 different destinations (e.g., port 8080 and 8081). - Patch sendheartbeat=true to only one subscriber. - Check whether the only subscriber that enables `SendHeartbeat` is receiving the heartbeat messages.
3) Redfish Service Validator passes
[1] https://github.com/openbmc/bmcweb/blob/02ea923f13de196726ac2f022766a6f80bee1c0a/redfish-core/schema/dmtf/json-schema/EventDestination.v1_15_0.json#L356 [2] https://redfish.dmtf.org/registries/HeartbeatEvent.1.0.1.json [3] https://github.com/DMTF/Redfish/blob/d9e54fc8393d8930bd42e8b134741f5051a2680f/registries/HeartbeatEvent.1.0.1.json#L14
Change-Id: I8682e05f4459940913ba189f1ed016874e38dd4a Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
5064a25b | 04-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Add Persistent Heartbeat subscription properties
This adds Heartbeat parameters to subscriptions so that the future heartbeat implementation can use those parameters specified by the schema [1][2][3
Add Persistent Heartbeat subscription properties
This adds Heartbeat parameters to subscriptions so that the future heartbeat implementation can use those parameters specified by the schema [1][2][3]. - SendHeartbeat - HeartbeatIntervalMinutes
Tested:
1. POST Subscription - Create a subscription (e.g. via Redfish-Event-Listener) or like
``` curl -k -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/EventService/Subscriptions \ -d '{ "Context": "Public", "DeliveryRetryPolicy": "TerminateAfterRetries", "Destination": "https://DESTINATION-IPADDR/Redfish-Evt-Listener", "EventFormatType": "Event", "HeartbeatIntervalMinutes": 2, "HttpHeaders": [], "MessageIds": [], "MetricReportDefinitions": [], "Protocol": "Redfish", "RegistryPrefixes": [], "ResourceTypes": [], "SendHeartbeat": true, "SubscriptionType": "RedfishEvent", "VerifyCertificate": true }' ```
2. GET the subscription and check the content ``` SUBID=<id> curl -k -X GET https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} ```
3. PATCH Subscription - PATCH with various SendHeartbeat & HeartbeatIntervalMinutes
For example, ``` curl -k -X PATCH https://${bmc}/redfish/v1/EventService/Subscriptions/${SUBID} \ -H "Content-Type: application/json" \ -d '{"SendHeartbeat":true, "HeartbeatIntervalMinutes":10}' ```
- Restart bmcweb or reboot BMC
- Get the subscription data and see whether the heartbeat properties are persistent.
4. Redfish Validator Service passes
[1] https://github.com/openbmc/bmcweb/blob/d109e2b60f7bb367dc8115475c6cb86bca6e1914/redfish-core/schema/dmtf/json-schema/EventDestination.v1_15_0.json#L356 [2] https://github.com/openbmc/bmcweb/blob/d109e2b60f7bb367dc8115475c6cb86bca6e1914/redfish-core/schema/dmtf/json-schema/EventDestination.v1_15_0.json#L222 [3] https://www.dmtf.org/sites/default/files/standards/documents/DSP2046_2022.3.html
Change-Id: I9e7feadb2e851ca320147df2231f65ece58ddf25 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
8274eb11 | 18-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Simplify journal paging
sd-journal has its own paging mechanisms for generating and seeking to unique ids. Ironically they look fairly similar to what we've implemented here, but they have more con
Simplify journal paging
sd-journal has its own paging mechanisms for generating and seeking to unique ids. Ironically they look fairly similar to what we've implemented here, but they have more content, presumably because they can use internal implementation details to do paging.
This commit switches all sd-journal paging to use cursors. Functionally this changes the odata.id from being a concatenated string into being a base64 encoded identifier that is much longer.
The end result is vastly simplified code.
Tested: check journal script [1] succeeds
[1] https://github.com/openbmc/openbmc-tools/blob/master/check_journal/check_journal
Script runs to completion and shows all tests passed.
Change-Id: Ia49fbfc272bef6dfbe1ea45a8d993dc785041659 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
2952f648 | 19-Nov-2024 |
Joseph-Jonathan Salzano <joseph-jonathan.salzano@hp.com> |
Dynamically determine ChassisType for Redfish
The function handleChassisGetSubTree will now handle properties that are part of the xyz.openbmc_project.Inventory.Item.Chassis interface. At time of de
Dynamically determine ChassisType for Redfish
The function handleChassisGetSubTree will now handle properties that are part of the xyz.openbmc_project.Inventory.Item.Chassis interface. At time of development this is only ChassisType. The new function "handleChassisProperties" will attempt to get the Type property from the interface, translate it to a Redfish standard string and set it as the ChassisType value. If the property cannot be found the default "RackMount" will be used.
Tested: Added and ran 4 new unit tests. Ran manual tests with ChassisType being exposed via dbus in QEMU emulated environments. Tested on ASPEED 2600 eval board.
Change-Id: Ibbd048db5007f5154e88495ec6e651a3a2137b06 Signed-off-by: Joseph-Jonathan Salzano <joseph-jonathan.salzano@hp.com>
show more ...
|
48fb20b9 | 17-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Update error types to use dmtf
In a prior patch these were InvalidUpload, an openbmc oem defined message. Map the messages to dmtf base registry messages, primarily MissingOrMalformedPart
Tested:
Update error types to use dmtf
In a prior patch these were InvalidUpload, an openbmc oem defined message. Map the messages to dmtf base registry messages, primarily MissingOrMalformedPart
Tested: on last patch of series.
Change-Id: I0b04deabb01b8e299af259e0036f6007737068c6 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
c87294a6 | 17-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Remove InvalidUpload response code
Invalid response is something from the openbmc registry, so it's not a valid thing to return as a response code. For this patch, remove the generated error messag
Remove InvalidUpload response code
Invalid response is something from the openbmc registry, so it's not a valid thing to return as a response code. For this patch, remove the generated error message, and replace the one place it's used with internalError.
Tested: On last patch in series.
Change-Id: I8215935f00923c72fd7763645c06d0b6af73c01d Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
9008975e | 20-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix regression on metadata uri
e9f120141c8d2a1404660e46ce2126c83521405d caused a regression on this that can be seen from the find and replace. Unfortunately service validator doesn't catch this, b
Fix regression on metadata uri
e9f120141c8d2a1404660e46ce2126c83521405d caused a regression on this that can be seen from the find and replace. Unfortunately service validator doesn't catch this, but protocol validator does.
Tested: Run redfish protocol validator and see this test is now passing.
Change-Id: Ie90be9e7dd9332924a33f71ee6125b82cb21bcec Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
d109e2b6 | 18-Nov-2024 |
Alexander Hansen <alexander.hansen@9elements.com> |
Refactor: move registries functions to their file
There were same functions from namespace 'registries' in event_service_manager.hpp. Move them to registries.cpp/hpp.
Tested: - Using Redfish Event
Refactor: move registries functions to their file
There were same functions from namespace 'registries' in event_service_manager.hpp. Move them to registries.cpp/hpp.
Tested: - Using Redfish Event Listener, test subscriptions and eventing. - Redfish Service Validator passes
Change-Id: Id0912f6581637bb4117e67b138122c355256b561 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
6a42dc61 | 16-Sep-2024 |
Potin Lai <potin.lai@quantatw.com> |
Change primary postcode interface to byte array
At least one processor implementation currently uses 9 byte post codes, which does not fit nicely into any standard types. The backends are changing
Change primary postcode interface to byte array
At least one processor implementation currently uses 9 byte post codes, which does not fit nicely into any standard types. The backends are changing dbus interface to be two arrays rather than a {uint64, array}, which will allow arbitrary sized postcodes[1].
[1]: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/74633
Tested: - Test with 9 bytes postcode system ``` { "@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of POST Code Log Entries", "Members": [ { "@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2024-10-08T16:37:51.180760+00:00", "EntryType": "Event", "Id": "B1-1", "Message": "Boot Count: 1; Time Stamp Offset: 0.0000 seconds; POST Code: 0x01000000000001C000", "MessageArgs": [ "1", "0.0000", "0x01000000000001C000" ], "MessageId": "OpenBMC.0.2.BIOSPOSTCode", "Name": "POST Code Log Entry", "Severity": "OK" }, { "@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-2", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2024-10-08T16:37:51.282429+00:00", "EntryType": "Event", "Id": "B1-2", "Message": "Boot Count: 1; Time Stamp Offset: 0.1017 seconds; POST Code: 0x01000000020001C100", "MessageArgs": [ "1", "0.1017", "0x01000000020001C100" ], "MessageId": "OpenBMC.0.2.BIOSPOSTCode", "Name": "POST Code Log Entry", "Severity": "OK" }, { "@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-3", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2024-10-08T16:37:51.654501+00:00", "EntryType": "Event", "Id": "B1-3", "Message": "Boot Count: 1; Time Stamp Offset: 0.4737 seconds; POST Code: 0x01000000010001C000", "MessageArgs": [ "1", "0.4737", "0x01000000010001C000" ], "MessageId": "OpenBMC.0.2.BIOSPOSTCode", "Name": "POST Code Log Entry", "Severity": "OK" }, ...... } ```
- Test attachment (secondary postcode) with maunul feed postcode - promary: 0x010203040506070809 - secondary: 0x090807060504030201 ``` root@bmc:~# busctl set-property xyz.openbmc_project.State.Boot.Raw /xyz/openbmc_project/state/boot/raw0 xyz.openbmc_project.State.Boot.Raw Value '(ayay)' 9 1 2 3 4 5 6 7 8 9 9 9 8 7 6 5 4 3 2 1 root@bmc:~# curl -u root:0penBmc -k https://127.0.0.1/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1 { "@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "AdditionalDataURI": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1/attachment", "Created": "2024-10-15T00:52:38.408819+00:00", "EntryType": "Event", "Id": "B1-1", "Message": "Boot Count: 1; Time Stamp Offset: 0.0000 seconds; POST Code: 0x010203040506070809", "MessageArgs": [ "1", "0.0000", "0x010203040506070809" ], "MessageId": "OpenBMC.0.2.BIOSPOSTCode", "Name": "POST Code Log Entry", "Severity": "OK" } root@bmc:~# curl -u root:0penBmc -k https://127.0.0.1/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B1-1/attachment CQgHBgUEAwIB ```
Signed-off-by: Potin Lai <potin.lai@quantatw.com> Change-Id: Id5e8779b191e733e6be32294d21a0a1775c48db4
show more ...
|
fa800c8a | 13-Nov-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Manager: Remove SerialConsole and TODO
In 2020, the OCP Profile moved to accept SerialConsole in either Manager or System.[1]
That was the reason of still having this code. SerialConsole was deprec
Manager: Remove SerialConsole and TODO
In 2020, the OCP Profile moved to accept SerialConsole in either Manager or System.[1]
That was the reason of still having this code. SerialConsole was deprecated in Manager v1_10_0. v1_19_2 is the latest Manager version[2].
SerialConsole was added to System in 2021[3]. In 2023, SerialConsole was enhanced to get the status not just hardcode to enabled.
[1]: https://github.com/opencomputeproject/HWMgmt-OCP-Profiles/issues/23 [2]: https://redfish.dmtf.org/schemas/v1/Manager.v1_19_2.json [3]: https://github.com/openbmc/bmcweb/commit/0e8ac5e706c531d2a3e2fc8390d9a31b90a91eb1 [4]: https://github.com/openbmc/bmcweb/commit/5c3e927283e32e1633ccd409f34ee17fab626ca1
Tested: Covered by automated tests.
Change-Id: I0a95e9215d4aa4626a3da75c989cb7d5eaf94be1 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
d27c31e9 | 15-Oct-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service name for UPDATESERVICE_USE_DBUS
Update the Dbus service name and path for BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS. As part of updated implementation the new BMC code updater daemon name
update service name for UPDATESERVICE_USE_DBUS
Update the Dbus service name and path for BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS. As part of updated implementation the new BMC code updater daemon name is xyz.openbmc_project.Software.Manager, update setActiveImage and FactoryReset flows to reflect so.
Tested: ``` > curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Managers/bmc/Actions/Manager.ResetToDefaults -d '{"ResetType": "ResetAll"}' { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.19.0.Success", "MessageSeverity": "OK", "Resolution": "None." } ] }
> curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Managers/bmc -d '{"Links": {"ActiveSoftwareImage": {"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/70f4c0cb"}}}' { "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.19.0.Success", "MessageSeverity": "OK", "Resolution": "None." } ] } ```
Change-Id: I42ef2485fa119474b7fd12ea94dd654c3432c067 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
5fe4ef35 | 19-Oct-2024 |
Myung Bae <myungbae@us.ibm.com> |
Make UserSubscription as shared_ptr in Subscription
Currently UserSubscription are used as value in Subscription. This causes the copy of the object between subscriptionsMap and subscriptionConfigMa
Make UserSubscription as shared_ptr in Subscription
Currently UserSubscription are used as value in Subscription. This causes the copy of the object between subscriptionsMap and subscriptionConfigMap when doing PATCH.
Using a shared_ptr for UserSubscription avoids the memory copy of it.
Tested:
- Using Redfish Event Listener, test subscriptions and eventing. - Redfish Service Validator passes
Change-Id: I5821b72f28ba737a5c9b75288d377766c84c6a6a Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
b07942e3 | 31-Oct-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix snmp port out of range
SNMP out of range port doesn't works, it should throw HTTPS 400 error It went ahead and configures it, with default port which is not the correct behavior.
Tested: If the
Fix snmp port out of range
SNMP out of range port doesn't works, it should throw HTTPS 400 error It went ahead and configures it, with default port which is not the correct behavior.
Tested: If the snmp port is out of range, a 400 error will be thrown. ``` $ curl --header "Content-Type: application/json" X POST -i -k -u root:0penBmc https://{bmc}/redfish/v1/EventService/Subscriptions --data-raw '{"Destination": "snmp://xx.xx.xx.76:65537","SubscriptionType": "SNMPTrap", "Protocol": "SNMPv2c"}' -vv ...
< HTTP/1.1 400 Bad Request ...
{ "Destination@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The value '\"snmp://xx.xx.xx.76:65537\"' for the property Destination is of a different format than the property can accept.", "MessageArgs": [ "\"snmp://xx.xx.xx.76:65537\"", "Destination" ], "MessageId": "Base.1.16.0.PropertyValueFormatError", "MessageSeverity": "Warning", "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." } ] * Connection #0 to host 127.0.0.1 left intact } ```
Change-Id: I6e002153ca37b4eb3d4538a64fa61ab35e9dab85 Signed-off-by: George Liu <liuxiwei@ieisystem.com>
show more ...
|
02ea923f | 25-Oct-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Remove 2nd incorrect TotalCores
bmcweb has 2 places where it is setting the processor's TotalCores, here and in the getCpuDataByInterface call[1].
The way being removed of getting TotalCores, assum
Remove 2nd incorrect TotalCores
bmcweb has 2 places where it is setting the processor's TotalCores, here and in the getCpuDataByInterface call[1].
The way being removed of getting TotalCores, assumes the path of cores is <processorPath/core*>, it also has some interesting logic for present.
The getCpuDataByInterface goes out to D-Bus and gets the CoreCount value, part of the CPU interface[2] in PDI.
IBM isn't using this path way of getting TotalCores. Don't see any company that is but hard to know. Since this way is wrong, don't think we should put behind a meson option, instead just remove.
History: Aug, 2019: IBM added getting "TotalCores" by assuming this core path[3] Aug, 2020: Intel added CPU properties including corecount to PDI[4] Sept, 2020: Intel adds using this D-Bus property[5]
Long term, it would be good to model the cores, the cores and processor have an association,[6] the bmcweb review for the cores is using this association[7].
[1]: https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/processor.hpp#L133 [2]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/73c931fb942daa714bfff17e950b9d5622a25842/yaml/xyz/openbmc_project/Inventory/Item/Cpu.interface.yaml#L46 [3]: https://github.com/openbmc/bmcweb/commit/ec8faf9243b6f6320daeb3ba6a94d1f257034506 [4]: https://github.com/openbmc/phosphor-dbus-interfaces/commit/259f49e0c40b287d9ea79f77db1654da47161340 [5]: https://github.com/openbmc/bmcweb/commit/029cc1f4106968f7e871d17a8bcb71a303a12ffa [6]: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/56395 [7]: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/38570
Tested: It builds. TotalCores is still there.
Change-Id: I9f244a33eca0e4a9838eb55ada09733807439877 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|