#
04adfbca |
| 27-Dec-2024 |
Ed Tanous <etanous@nvidia.com> |
Apply meson format
Apply "meson format" using command to fix minor violations in alphabetical lists and comma locations that have snuck in.
Tested: Code compiles.
Change-Id: Ie44c95a10f99573c3732b
Apply meson format
Apply "meson format" using command to fix minor violations in alphabetical lists and comma locations that have snuck in.
Tested: Code compiles.
Change-Id: Ie44c95a10f99573c3732b24a71668ebd9561e9e6 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
64fa9167 |
| 12-Nov-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
change default to use fw Update D-Bus interface
Currently, the firmware update images are being downloaded onto /tmp/images directory which are watched by phosphor-bmc-code-mgmt to start an update.
change default to use fw Update D-Bus interface
Currently, the firmware update images are being downloaded onto /tmp/images directory which are watched by phosphor-bmc-code-mgmt to start an update. The current flow only supports single update at a time. More details on problem description and specific requirements have been captured in [1]. The intent of this change is to start the use of an Update D-Bus interface which has been implemented using redfish-updateservice-use-dbus feature flag. Through this change BMCWeb will download the image in memory and pass the image fd to the backend using D-Bus interface. Change redfish-updateservice-use-dbus default to enabled.
[1]: https://github.com/openbmc/docs/blob/master/designs/code-update.md
Related PRs: https://gerrit.openbmc.org/q/topic:EnableUpdateInterface
Tested:
``` Metadata: Namespaces missing from $metadata: set()
Elapsed time: 0:00:33 missingRedfishAlias: 1 pass: 4343 passAction: 16 passGet: 217 passRedfishUri: 208 skipNoSchema: 3 skipOptional: 4001 unvalidated: 1 unverifiedAdditional.complex: 1 warnDeprecated: 5 warningPresent: 6 warnings: 4 Validation has succeeded.
> curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/UpdateService/FirmwareInventory { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Members": [ { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/a79d71e4" } ], "Members@odata.count": 1, "Name": "Software Inventory Collection" }
> curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/a79d71e4\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=application/json" -F "UpdateFile=@obmc-phosphor-image-romulus-20241015174416.static.mtd.tar;type=application/octet-stream" 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" }
> curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/TaskService/Tasks/0 { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "EndTime": "2024-11-14T01:01:36+00:00", "HidePayload": false, "Id": "0", "Messages": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '0' has started.", "MessageArgs": [ "0" ], "MessageId": "TaskEvent.1.0.3.TaskStarted", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '0' has changed to progress 10 percent complete.", "MessageArgs": [ "0", "10" ], "MessageId": "TaskEvent.1.0.3.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '0' has changed to progress 100 percent complete.", "MessageArgs": [ "0", "100" ], "MessageId": "TaskEvent.1.0.3.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '0' has completed.", "MessageArgs": [ "0" ], "MessageId": "TaskEvent.1.0.3.TaskCompletedOK", "MessageSeverity": "OK", "Resolution": "None." } ], "Name": "Task 0", "Payload": { "HttpHeaders": [], "HttpOperation": "POST", "JsonBody": "null", "TargetUri": "/redfish/v1/UpdateService/update" }, "PercentComplete": 100, "StartTime": "2024-11-14T01:01:04+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0", "TaskState": "Completed", "TaskStatus": "OK" }
```
Change-Id: Ice710e9b44e60bc60b7c2d512ac6d98fa770dc56 Signed-off-by: Jagpal Singh Gill <paligill@gmail.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 ...
|
#
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 ...
|
#
6c58a03e |
| 21-Nov-2024 |
Alexander Hansen <alexander.hansen@9elements.com> |
event service: dbus log: enable event subscription
enable the event subscriptions
/redfish/v1/EventService/Subscriptions/
to work for the dbus event log.
So if you are enabling redfish-dbus-log o
event service: dbus log: enable event subscription
enable the event subscriptions
/redfish/v1/EventService/Subscriptions/
to work for the dbus event log.
So if you are enabling redfish-dbus-log option, event subscriptions should work similar to when this option is disabled, with one difference:
- 'MessageArgs' property is currently not implemented and cannot be found in the returned json.
Tested: - Using Redfish Event Listener, test subscriptions and eventing. - Manual Test below with the Redfish Event Listener:
1. Created a maximal Event Log Subscription
redfish { "@odata.id": "/redfish/v1/EventService/Subscriptions/2023893979", "@odata.type": "#EventDestination.v1_8_0.EventDestination", "Context": "EventLogSubscription", "DeliveryRetryPolicy": "TerminateAfterRetries", "Destination": "http://${ip}:5000/event-receiver", "EventFormatType": "Event", "HttpHeaders": [], "Id": "2023893979", "MessageIds": [], "MetricReportDefinitions": [], "Name": "Event Destination 2023893979", "Protocol": "Redfish", "RegistryPrefixes": [], "ResourceTypes": [], "SubscriptionType": "RedfishEvent", "VerifyCertificate": true }
which matches on all registries and all message ids.
2. created a new phosphor-logging entry
busctl call xyz.openbmc_project.Logging \ /xyz/openbmc_project/logging \ xyz.openbmc_project.Logging.Create \ Create 'ssa{ss}' \ OpenBMC.0.1.PowerButtonPressed \ xyz.openbmc_project.Logging.Entry.Level.Error 0
3. bmcweb picks up this new entry via the dbus match, this can be verified by putting bmcweb in debug logging mode.
4. the event log entry makes it through the filtering code
5. the POST request is sent to the subscribed server as expected, and contains the same properties as with the file-based backend.
Change-Id: I122e1121389f72e67a998706aeadd052ae607d60 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
#
1f1fb4f5 |
| 02-Oct-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Extend multi system date
There was interest in discord on this. [1]. Extend the date until March 1st since we are already past Sept 1st by a month.
Don't feel keeping this causes us much harm.
[1]
Extend multi system date
There was interest in discord on this. [1]. Extend the date until March 1st since we are already past Sept 1st by a month.
Don't feel keeping this causes us much harm.
[1]: https://discord.com/channels/775381525260664832/1291015132851212330/1291070549128253501
Tested: None. Inspection only.
Change-Id: Ie318b57f60c68325a3be9707a5de869d73f69966 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
c5bcf35f |
| 25-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Add searchable macros
Now that we consistently match our options to our macros, we can add some comments into the meson.options to make it so that when that macro is searched, it will pop up correct
Add searchable macros
Now that we consistently match our options to our macros, we can add some comments into the meson.options to make it so that when that macro is searched, it will pop up correctly.
Tested: No functional change.
Change-Id: I0cf26cac084b845229b9e39993fbc566a3bb6532 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
1d19d872 |
| 10-Sep-2024 |
Myung Bae <myungbae@us.ibm.com> |
Fix Missed Renamed OpenBMCManager word
The commit fc1cdd14 misses a word change from OemManager to OpenBMCManager in meson.options.
Tested: Inspection only
Change-Id: I9fd1da737656ffe5136bd9298f35
Fix Missed Renamed OpenBMCManager word
The commit fc1cdd14 misses a word change from OemManager to OpenBMCManager in meson.options.
Tested: Inspection only
Change-Id: I9fd1da737656ffe5136bd9298f35a0dc527d4870 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
#
92e26be5 |
| 21-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Reformat meson files with meson format
Meson recently got a new format command in 1.5.0 [1]. It makes slightly different formatting decisions compared to muon (what we used previously) but given it
Reformat meson files with meson format
Meson recently got a new format command in 1.5.0 [1]. It makes slightly different formatting decisions compared to muon (what we used previously) but given it's the official tool, we should switch to it.
There is one bug resolved recently that requires this format be done using the meson from master.
Ideally this would be enforced by CI in the future, but that's WIP.
Tested: Whitespace only, code compiles.
[1] https://mesonbuild.com/Commands.html#format [2] https://github.com/mesonbuild/meson/commit/df706807239095ddbbfd2975b3fe067ad6b5d535
Change-Id: I91506efb659c431e913c717d8a26aa349fccbd75 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
#
68896206 |
| 21-Aug-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Add a Hypervisor Computer System Option
Today to determine if the hypervisor computer system resource should be added to the System Collection a call to the Settings Manager is made.
Based on discu
Add a Hypervisor Computer System Option
Today to determine if the hypervisor computer system resource should be added to the System Collection a call to the Settings Manager is made.
Based on discussion in https://gerrit.openbmc.org/c/openbmc/bmcweb/+/73203 and to help the multihost stuff move forward, lets move this hypervisor under a meson option which any company that needs can enable. I think IBM is the only one who uses this so the risk of breaking someone should be small.
One day hope to converge at some point, this probably doesn't happen until after the multihost stuff goes in.
This is also better for implementations that don't have this backend because now routes like /redfish/v1/Systems/hypervisor/EthernetInterfaces/ aren't put out. I.e. a call to /redfish/v1/Systems/hypervisor/EthernetInterfaces/ is now going to return 404 instead of 500 on systems without this backend support.
Tested: Enabled this and see the hypervisor system. Without this enabled do not see the hypervisor system. No new validator errors either way.
Change-Id: Ie05e6644dd6f640cf8225f96becb99b9c2d0de20 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
4e338b23 |
| 14-Jun-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
update service: remove tftp simple update flow
Remove the flow for tftp simple update as this is an insecure method and there is no active user for this.
Redfish service validator passing: ``` Elap
update service: remove tftp simple update flow
Remove the flow for tftp simple update as this is an insecure method and there is no active user for this.
Redfish service validator passing: ``` Elapsed time: 0:04:33 metadataNamespaces: 3727 pass: 5184 passAction: 16 passGet: 213 passRedfishUri: 205 skipNoSchema: 3 skipOptional: 3535 unvalidated: 1 warnDeprecated: 5 warningPresent: 6 ```
Change-Id: I466dcb09be4ee806451abe91ab86d8b3b001a333 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
3ce3688a |
| 09-Jun-2024 |
Ed Tanous <ed@tanous.net> |
Mutual TLS parsing change at runtime
Redfish AccountService[1] defines methods for selecting how to map a certificate CommonName attribute to a user. These are intended to be a patch parameter.
Th
Mutual TLS parsing change at runtime
Redfish AccountService[1] defines methods for selecting how to map a certificate CommonName attribute to a user. These are intended to be a patch parameter.
This commit implements the Redfish defined schemas; The parsing mode is stored in the bmcweb persistent configuration file as an integer enum, with Mapping to the Redfish schema.
To handle OEM specific parsing modes, an enum value of 100+ is defined to allow the additional OEM parameters. Unfortunately, Redfish doesn't have a way to represent these today, so those modes are currently not selectable at runtime.
Now that things are runtime selectable, this obsoletes the option mutual-tls-common-name-parsing, as it is not longer required at compile time.
Tested: GET /redfish/v1/AccountService
returns MultiFactorAuth/ClientCertificate/CertificateMappingAttribute
PATCH /redfish/v1/AccountService ``` {"MultiFactorAuth": {"ClientCertificate": {"CertificateMappingAttribute":"CommonName"}}} ```
Returns 200
[1] https://github.com/DMTF/Redfish-Publications/blob/5b217908b5378b24e4f390c063427d7a707cd308/csdl/AccountService_v1.xml#L1631
Change-Id: I67db0dfa5245a9da973320aab666d12dbd9229e4 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
1e4fcdb9 |
| 25-Jun-2024 |
Ed Tanous <ed@tanous.net> |
Remove yocto-deps option
Since moving to meson, this option has never done anything, and isn't used in source code. In the cmake days, it was used to determine whether we should use hunter for depe
Remove yocto-deps option
Since moving to meson, this option has never done anything, and isn't used in source code. In the cmake days, it was used to determine whether we should use hunter for dependency management, or allow yocto to provide dependencies. This is now automatic in meson.
Tested: code compiles.
Change-Id: Id7c0884753cd68f099a8dc3974e8943645edfb95 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
8dc3ddf6 |
| 25-Jun-2024 |
Ed Tanous <ed@tanous.net> |
meson_options.txt -> meson.options
The new format for this file seems to be meson.options. Move to it.
Update the minimum meson version to 1.3. 1.1 is the minimum required for meson.options, but
meson_options.txt -> meson.options
The new format for this file seems to be meson.options. Move to it.
Update the minimum meson version to 1.3. 1.1 is the minimum required for meson.options, but we already have warnings about features in 1.3, so might as well go straight there.
Tested: Code compiles
Change-Id: Id42643d4aeb680032754158e061ddbf1c9658477 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|