#
ce82de51 |
| 16-Jan-2024 |
Adriana Kobylak <anoo@us.ibm.com> |
errors: Use non-deprecated namespaces
The error namespaces have been updated. Reference: https://gerrit.openbmc.org/c/openbmc/sdbusplus/+/66308 https://gerrit.openbmc.org/c/openbmc/phosphor-logging/
errors: Use non-deprecated namespaces
The error namespaces have been updated. Reference: https://gerrit.openbmc.org/c/openbmc/sdbusplus/+/66308 https://gerrit.openbmc.org/c/openbmc/phosphor-logging/+/66463
Tested: Compiled with the SDBUSPP_REMOVE_DEPRECATED_NAMESPACE option.
Change-Id: Idd1ca6f14635039bd8bd2f34d69afd3e97588648 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
1e9a5f1a |
| 23-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: use non-deprecated namespaces
The sdbusplus repository has deprecated some namespaces and they are currently only enabled with the SDBUSPP_REMOVE_DEPRECATED_NAMESPACE guard. Switch to the
sdbus++: use non-deprecated namespaces
The sdbusplus repository has deprecated some namespaces and they are currently only enabled with the SDBUSPP_REMOVE_DEPRECATED_NAMESPACE guard. Switch to the new namespace names.
Change-Id: Iaab6df118eb4dc65139e759dcb22851422f88389 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
bf2bb2b1 |
| 22-Jul-2022 |
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
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I96286490697ce5d7fecc1c9c358f5f1d054137ec
show more ...
|
#
35aa9a88 |
| 05-Apr-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: object: don't use 'bool' argument constructor
`sdbusplus::server::object_t` has long had an enum-based parameter for signal action, but maintained a backwards compatible boolean mapping.
sdbusplus: object: don't use 'bool' argument constructor
`sdbusplus::server::object_t` has long had an enum-based parameter for signal action, but maintained a backwards compatible boolean mapping. It is time to remove this boolean to make it more observable which actions are being used in applications. Map all `true` occurrences to `action::defer_emit`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I5479733e7f0a81c10fa432538be3f6cf730541f4
show more ...
|
#
b824b2f4 |
| 14-May-2020 |
Adriana Kobylak <anoo@us.ibm.com> |
activation: Make activation flow common The activation flow has a lot of duplicate code such as checking the digital signatures and creating associations, with a few differences depe
activation: Make activation flow common The activation flow has a lot of duplicate code such as checking the digital signatures and creating associations, with a few differences depending on the choice of bmc layout configuration. This makes the code hard to maintain since changes and additions to the activation flow need to be done on more than one place, and also the function becomes bigger and harder to follow. This would be made worse when additional layout supports are added such as eMMC code update support. Make the flow common and move the specific code to its subdirectory. This requires create a new function to handle the end of the update so that we support implementations that are async (need to wait for systemd service files to finish). Still need an if/else statement to differentiate the implementations that are synchronous like the static layout and the async ones like the ubi layout since the async ones have the flash write function return immediately and can call the flash write success later on, for the sync ones need to set the activation value to Active after calling flash write success: Async (ubi): activation(Activating) flashWrite() return Activating onFlashWriteSuccess() activation(Active) Synchronous (static): activation(Activating) flashWrite() onFlashWriteSuccess() activation(Active) return Active By making the code common, the static layout gains some additional features which may not be of consequence due to the short duration of the update, but does not hurt and allow us to remove the if/else blocks: - Progress interface - Blocks transition interface - Updatable association before reboot is done The static layout will also subscribe to systemd signals even though they're not used, but again this is to keep the code as common as possible. Tested: Verified code update worked and expected d-bus interfaces and values were set during ubi and static update. Change-Id: I20a0b752fe3905cca5b6220c88f65eb64d155d75 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
c98d912e |
| 05-May-2020 |
Adriana Kobylak <anoo@us.ibm.com> |
Use std::filesystem instead of std::experimental std::filesystem is fully supported in c++17, no need to keep the experimental around anymore. Note that the path append behavior
Use std::filesystem instead of std::experimental std::filesystem is fully supported in c++17, no need to keep the experimental around anymore. Note that the path append behavior changed, so appending an absolute path replaces the path instead of appending, therefore need to use .relative_path(). Tested: Did a code update on witherspoon and verified the sync path was correct. Change-Id: Iffe42cf0ebd5537920c8fdbf9edcec640ab9c724 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
29d84b03 |
| 13-Feb-2020 |
Lei YU <mine260309@gmail.com> |
Cleanup the code related to emit_interface_added sdbusplus now supports action::emit_interface_added() when an object is constructed, so the code that manually invokes emit_interface_add
Cleanup the code related to emit_interface_added sdbusplus now supports action::emit_interface_added() when an object is constructed, so the code that manually invokes emit_interface_added() could be cleaned up and use the above action instead. Tested: Verify the software objects are created as before, and BMC code update works fine. Signed-off-by: Lei YU <mine260309@gmail.com> Change-Id: I0b2ce4773c51f89f5b39b2d601173694c969d15b
show more ...
|
#
e9f6c845 |
| 14-Jan-2020 |
Vijay Khemka <vijaykhemka@fb.com> |
Add support for Bios update Added support for Bios upgrade, this is just first stage where there is no version check or image verify but later on these features will also be added.
Add support for Bios update Added support for Bios upgrade, this is just first stage where there is no version check or image verify but later on these features will also be added. Currently, this expect a bios image to be copied with manifest file having version and provide a system unit file to be executed. To enable this feature need to enable config option --enable-host_bios_upgrade via bbappend. Change-Id: If96fe71bad9dc8b187570e9dbbfaac9e9e09e3d1 Signed-off-by: Vijay Khemka <vijaykhemka@fb.com>
show more ...
|
#
85c356f7 |
| 11-Sep-2019 |
John Wang <wangzqbj@inspur.com> |
Move to new association interface A new association interface is defined in phosphor-dbus-interfaces It would be nice to move the local version of the interface to the new one.
Move to new association interface A new association interface is defined in phosphor-dbus-interfaces It would be nice to move the local version of the interface to the new one. The behavior of how association work is described here: https://github.com/openbmc/docs/blob/master/object-mapper.md#associations Partially resolves openbmc/openbmc#3584 Tested: See the org.openbmc.Associations interface has been replaced by the xyz one in /xyz/openbmc_project/software/version_id object Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I249b7fea26f720b57e60e0bf8ba8bc71c620af98
show more ...
|
#
a013560f |
| 22-Apr-2019 |
Jayashankar Padath <jayashankar.padath@in.ibm.com> |
Code Update: ApplyTime software manager support Get the requested image apply time value provided through the UpdateService redfish schema. If the apply time value is Immediate, then
Code Update: ApplyTime software manager support Get the requested image apply time value provided through the UpdateService redfish schema. If the apply time value is Immediate, then BMC reboot will be triggered just after the new image activation. The default apply time value is OnReset in which the new image remains at Active state and user has to manualy reboot the BMC for applying the new image. Tested: Verified that BMC is getting rebooted if the apply time value is Immediate. OnReset scenario was also tested in which new image remained at Active state as code update application did not trigger the BMC reboot. Signed-off-by: Jayashankar Padath <jayashankar.padath@in.ibm.com> Change-Id: I5efb51f7f36e196d6113cfca6d37c8c6bef70aa2
show more ...
|
#
b0ce996a |
| 07-Sep-2018 |
Gunnar Mills <gmills@us.ibm.com> |
clang-format: Update to match docs repo Update the .clang-format file. Now includes header sorting and updating PointerAlignment. Change-Id: I5c7690d8d83cdebe26ff3a73b90a2a8c17d
clang-format: Update to match docs repo Update the .clang-format file. Now includes header sorting and updating PointerAlignment. Change-Id: I5c7690d8d83cdebe26ff3a73b90a2a8c17dd8054 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
1be8d500 |
| 19-Jun-2018 |
Lei YU <mine260309@gmail.com> |
Refactor of bmcImages bmcImages were in image_verify.hpp but it is used not only in image verification, but elsewhere. Move it into a more generic header file, images.hpp, so it
Refactor of bmcImages bmcImages were in image_verify.hpp but it is used not only in image verification, but elsewhere. Move it into a more generic header file, images.hpp, so it makes more clear that users of bmcImages include images.hpp instead of image_verify.hpp Tested: Verify the code pass the build. Change-Id: If9adf315eee9047d9d08ab93ed7c0ff3c97f7a1e Signed-off-by: Lei YU <mine260309@gmail.com>
show more ...
|
#
90532250 |
| 23-May-2018 |
Lei YU <mine260309@gmail.com> |
Verify signature for non ubifs image Enable signature verification on non ubifs build. The code is the same for ubifs and non ubifs, so move related code into separated functions.
Verify signature for non ubifs image Enable signature verification on non ubifs build. The code is the same for ubifs and non ubifs, so move related code into separated functions. Tested: Verify that the signature check happens during code update, and successfully updated the code when the image is valid; verify it fails to update in field mode when the image is modified. Change-Id: I81a536fb7ea05d804fa592c57bbed8f32f07a559 Signed-off-by: Lei YU <mine260309@gmail.com>
show more ...
|
#
aea48f27 |
| 10-Jul-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
activation: Improve error handling in Subscribe Handle exceptions from the sdbusplus method call_noreply API. The Activation constructor was subscribing to systemd signals, which
activation: Improve error handling in Subscribe Handle exceptions from the sdbusplus method call_noreply API. The Activation constructor was subscribing to systemd signals, which would cause an "Already Subscribed" error when creating multiple Activation instances because the bus is common. There is no reason to subscribe to systemd signals in the constructor, since the signals are only triggered during the activation process. Move the Subscribe call to the activation process which calls Unsubscribe at the end. There's a scenario where there could still be an "Already Subscribed" error if the activation fails, so add error handling there. Tested: Verified code update worked with this change, and the app would not core dump with the latest sdbusplus changes. Change-Id: I065baca2586fa64c138d847187303464123cc01a Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
3ce563a0 |
| 06-Jun-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
activation: Move out code that monitors for ubi services Move the code that monitors for ubi services into the ubi subdirectory. Other filesystem layouts can just ignore the service
activation: Move out code that monitors for ubi services Move the code that monitors for ubi services into the ubi subdirectory. Other filesystem layouts can just ignore the service monitoring by setting the *VolumeCreated variables to true. Tested: Verified code update on Witherspoon still worked. Change-Id: I135e66225d0e8d692d430efd864252b822b069db Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
9f89e2e1 |
| 30-May-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
activation: Create ubi write function Move the code that creates the ubi volumes into a separate write flash function to make it easier to implement different flash write functions f
activation: Create ubi write function Move the code that creates the ubi volumes into a separate write flash function to make it easier to implement different flash write functions for other flash layouts. To implement a different write flash function: 1. Modify the Makefile.am file to include the desired code location. Ex: if UBI include ubi/Makefile.am.include else include <other>/Makefile.am.include 2. Implement the Activation::flashWrite in <other>/flash.cpp Tested: Verified code update still worked. Change-Id: Ide4d135695dad27e0dc1b5a776a276dfb2ca9aa6 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
166bdf3a |
| 09-Apr-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
Revert "Revert "Wait for obmc-flash-bmc-updateubootvars@.service"" This reverts commit e24fd6f7deadddc2867b2c417590da0ff093e5e2. The code that waits for the service file to complete
Revert "Revert "Wait for obmc-flash-bmc-updateubootvars@.service"" This reverts commit e24fd6f7deadddc2867b2c417590da0ff093e5e2. The code that waits for the service file to complete causes intermittent issues, so will be reverted. Change-Id: I830f8a2e4914694889c3626bb67bd1fe422e984d Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
e24fd6f7 |
| 06-Apr-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
Revert "Wait for obmc-flash-bmc-updateubootvars@.service" This reverts commit 4c3edc911ba880f7643f15679018c436aa94e0aa The code now blocks until the updateubootvars service complete
Revert "Wait for obmc-flash-bmc-updateubootvars@.service" This reverts commit 4c3edc911ba880f7643f15679018c436aa94e0aa The code now blocks until the updateubootvars service completes (https://gerrit.openbmc-project.xyz/#/c/9418/) so there is no need to monitor this service anymore. Tested: Verified that the activation still waits for the env vars to be upated before completing the activation process: Apr 06 16:58:07 witherspoon systemd[1]: Started Store read-only images 84fb16be to BMC storage. Apr 06 16:58:07 witherspoon systemd[1]: Starting Set U-Boot environment variable... Apr 06 16:58:08 witherspoon systemd[1]: Started Set U-Boot environment variable. Apr 06 16:58:08 witherspoon systemd[1]: Starting Updates the u-boot variable to point BMC version to 84fb16be... Apr 06 16:58:11 witherspoon systemd[1]: Started Updates the u-boot variable to point BMC version to 84fb16be. Apr 06 16:58:11 witherspoon phosphor-image-updater[1919]: BMC activation has ended - BMC reboots are re-enabled. Change-Id: I6b98c2136948ddd251c4070f697ce1eda66214d6 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
e11a2028 |
| 23-Mar-2018 |
Gunnar Mills <gmills@us.ibm.com> |
Spelling fixes Spelling errors found using github.com/lucasdemarchi/codespell A tool to fix common misspellings. This tool is licensed under GNU General Public License, version 2.
Spelling fixes Spelling errors found using github.com/lucasdemarchi/codespell A tool to fix common misspellings. This tool is licensed under GNU General Public License, version 2. Tested: Built the repo Change-Id: I4fb378699d436e0c41adf80978f7cdaec12c6404 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
2285fe0f |
| 27-Feb-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
Enable clang code format Change-Id: Ia899858c11cff6e4fa26b820b35b1e5dca1b57df Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
#
f37cefc8 |
| 12-Sep-2017 |
Saqib Khan <khansa@us.ibm.com> |
BMC: Block BMC reboots during Code Update - Enable the service that blocks reboot within the constructor of ActivationBlockTransition, so that the user can't reboot BMC while cod
BMC: Block BMC reboots during Code Update - Enable the service that blocks reboot within the constructor of ActivationBlockTransition, so that the user can't reboot BMC while code update is in progress. - Once the code update is complete the destructor of ActivationBlockTransition will disable any reboot guard that prevents user from rebooting the BMC. Tested: Verified that the user is unable to reboot during the activation process and that journal logs are present to indicate why the user is unable to reboot. Resolves openbmc/openbmc#1944 Change-Id: Ia149a76bcf093b011fe243fc609ae83358a0f933 Signed-off-by: Saqib Khan <khansa@us.ibm.com>
show more ...
|
#
4c3edc91 |
| 24-Jan-2018 |
Adriana Kobylak <anoo@us.ibm.com> |
Wait for obmc-flash-bmc-updateubootvars@.service The service file obmc-flash-bmc-updateubootvars@.service updates the boot environment variables to point to the newly updated image.
Wait for obmc-flash-bmc-updateubootvars@.service The service file obmc-flash-bmc-updateubootvars@.service updates the boot environment variables to point to the newly updated image. Need to wait for this service to finish before marking the update as complete. Otherwise the user may reboot the system while the env vars are being updated thinking that the update has completed because the Activation value would be set to Active. Resolves openbmc/openbmc#2764 Change-Id: Ic33cf62e46555c9925385bb5d9d28de9aeee85a1 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
ee13e831 |
| 23-Oct-2017 |
Saqib Khan <khansa@us.ibm.com> |
BMC: Fix the delete implementation. - Implement delete interface inside version class so that both item_updater and image_manager can share the same interface. This meant removin
BMC: Fix the delete implementation. - Implement delete interface inside version class so that both item_updater and image_manager can share the same interface. This meant removing the delete interface from inside the activation class. - The delete is created as a separate object inside version, only if the image is non-functional. This helps remove the delete interface from a running BMC/HOST image. - As part of the activation process, the version from inside the image_manager is deleted and so is the version's tarfile from the image upload dir. Partially resolves openbmc/openbmc#2490 Change-Id: Ib35bf188df85ebd2277d3d9ad04300e434965eea Signed-off-by: Saqib Khan <khansa@us.ibm.com>
show more ...
|
#
b77551cd |
| 27-Oct-2017 |
Adriana Kobylak <anoo@us.ibm.com> |
Call update u-boot env once when a priority is changed The recursive nature of calling the free priority function would trigger setting the u-boot env multiple times. Make a change s
Call update u-boot env once when a priority is changed The recursive nature of calling the free priority function would trigger setting the u-boot env multiple times. Make a change so that the priorities are sorted and updated once. - Create a non-overriden priority setter function to be called by the free priority function and by the function that creates the dbus objects after a bmc reboot. There's no need to call to free the priorities after reboot since the priorities are preserved on the bmc, and if they're not they default to 0 or 255. - When a dbus request is made to update the priority, update the value, then call the free priority function, which will sort the versions by priority and bump the priority of any duplicate ones. Resolves openbmc/openbmc#2535 Change-Id: Ib92cc0ca6c4d5f6e986f3cde7156d63b53844b46 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
#
4254bece |
| 03-Oct-2017 |
Michael Tritz <mtritz@us.ibm.com> |
BMC Updater: Remove the Object.Delete interface from functional version This commit enhances the functionality of the BMC software updater. Previously, each BMC version uploaded to the s
BMC Updater: Remove the Object.Delete interface from functional version This commit enhances the functionality of the BMC software updater. Previously, each BMC version uploaded to the system would implement the Object.Delete D-Bus interface, including the version currently running on the BMC. In principle, this is a pretty major issue - at best, the Delete would do nothing to the current version but throw an error, and at worst, it could partially remove it and cause problems. This commit fixes that problem by moving the Delete implementation into a separate object for each activation and removing that interface for the current version. Resolves openbmc/openbmc#2335 Change-Id: I721b7455c9fb309ecbb50f807aaa44a16d51ba5a Signed-off-by: Michael Tritz <mtritz@us.ibm.com>
show more ...
|