From 4ba5f952dca183a2372f0763cd918fa2c720e78c Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 15:29:32 +0000 Subject: [PATCH] v2.15.13 --- .versionbot/CHANGELOG.yml | 122 +++++++++++++++++++++++++++----------- CHANGELOG.md | 4 ++ app/meta/balenahupmeta.py | 2 +- 3 files changed, 91 insertions(+), 37 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index a47e6ca..3cdb0fa 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: "Upgrade-2.x.sh: Comment why we still need to use the release_tags" + hash: 15f4bc62ce538aca173de42a92b1fb819ad20120 + body: "" + footer: + Change-type: patch + change-type: patch + See: https://balena.fibery.io/Work/Project/Use-the-release-semver-fields-along-with-release_tags-across-all-our-components-404 + see: https://balena.fibery.io/Work/Project/Use-the-release-semver-fields-along-with-release_tags-across-all-our-components-404 + author: Thodoris Greasidis + version: 2.15.13 + title: "" + date: 2024-03-28T15:29:26.831Z - commits: - subject: "upgrade-2.x: Block draft version upgrades using the release_tag version" hash: 8ff13de4f65cae765f1e789c15ccbd66684045db @@ -31,19 +44,22 @@ This has caused a race condition as follows: - * Users start both a HUP and a SV update as the buttons are close to each + * Users start both a HUP and a SV update as the buttons are close to + each other and it's not that clear HUP will update the SV too * As soon as the SV update is trigerred, the target state is patched by the actions server. target state. - * However, the supervisor upgrade is aborted in the actions server as it checks + * However, the supervisor upgrade is aborted in the actions server as it + checks whether the device is idle (and it is not because of HUP): ``` actions-backend[8486]: 331a727bc378acf3cd86f305b917bdc16eada2c468fe3a0c41df5ab475be21fe POST actions.balena-devices.com /v1/8412784dc5bf1d5f1a78c5f6d6fbb5e1/supervisorupgrade 500 52 25.528ms ``` * HUP fails - * HUP cannot be retried until the SV updates - which now only happens in a + * HUP cannot be retried until the SV updates - which now only happens in + a timer once a day or on reboot This change modifies the supervisor update logic to take into account @@ -182,11 +198,14 @@ The script could parse the request output, but that is bad practise and - likely to break in future. Instead, when a 400 is received from the patch + likely to break in future. Instead, when a 400 is received from the + patch - operation the script checks that the API supervisor version is still lower + operation the script checks that the API supervisor version is still + lower - than the target version before failing the update. If the target supervisor + than the target version before failing the update. If the target + supervisor version happens to be higher than the target version the update is @@ -279,7 +298,8 @@ being left around, as the trap EXIT handler is not run. - It also allows for the INT ERR TERM handler to work as expected and should + It also allows for the INT ERR TERM handler to work as expected and + should result on hostOS updates to report as failed and not progressing when @@ -307,7 +327,8 @@ state allows for a retry before a reboot, avoiding the mismatch. If the - device is rebooted without a successful update, the mismatch still exists + device is rebooted without a successful update, the mismatch still + exists as it does today. @@ -337,7 +358,8 @@ body: > This message was printing `HOST_OS_VERSION`, which is set to default - to the meta-balena version, or fallback to the HOST OS revisioned version, + to the meta-balena version, or fallback to the HOST OS revisioned + version, and passing it as OS variant. What's more, recent balenaOS do not @@ -401,7 +423,8 @@ REC files are generated by fsck and fills up the boot partition quickly which - causes failures in updates. Clean this up before proceeding with the update. + causes failures in updates. Clean this up before proceeding with the + update. footer: Change-type: patch change-type: patch @@ -437,7 +460,8 @@ migration paths as is - no need to retest these old releases. - On hostapp based updates, keep checking the boot partition for the engine + On hostapp based updates, keep checking the boot partition for the + engine storage to remain backwards compatible. footer: @@ -581,7 +605,8 @@ OS versions. - [0] https://github.com/balena-os/meta-balena/commit/096024808224aea2100e2a2a1f95ef75e23493ef + [0] + https://github.com/balena-os/meta-balena/commit/096024808224aea2100e2a2a1f95ef75e23493ef footer: Change-type: patch change-type: patch @@ -993,7 +1018,8 @@ Recently the supervisor added a codepath that assumes no files underneath it will change during runtime. - OS update hooks can trigger a condition whereby the supervisor reboots the device during a HUP, + OS update hooks can trigger a condition whereby the supervisor reboots + the device during a HUP, which in turn bricks the device. As a workaround, we can use a transient @@ -1467,15 +1493,18 @@ The previous timeout was 0.2s*150=30s, which is got hit by some otherwise - normally working devices, that might be a) slower than usual, b) the user + normally working devices, that might be a) slower than usual, b) the + user application might be taking too much of the resources. Increase this x10, 0.2s*1500=300s=5min, which is still quite short, and - definitely shorter than if the user needs to ask support and retry because + definitely shorter than if the user needs to ask support and retry + because - of "spurious" timeouts. Valid errors should be still caught quite quickly. + of "spurious" timeouts. Valid errors should be still caught quite + quickly. - version: 2.6.2 date: 2019-04-23T16:03:28.000Z commits: @@ -1491,7 +1520,8 @@ Make data partition unmount a reusable function, and add an extra umount step - for one of the partition creation, which seemed to have triggered a remount + for one of the partition creation, which seemed to have triggered a + remount in some old SD card cases. This umount step was verified to fix things @@ -1622,7 +1652,8 @@ Writing inode tables: done - ext2fs_update_bb_inode: Illegal triply indirect block found while setting bad block inode + ext2fs_update_bb_inode: Illegal triply indirect block found while + setting bad block inode ``` @@ -1693,7 +1724,9 @@ Pulling repository docker.io/resin/resinos - Error while pulling image: Get https://index.docker.io/v1/repositories/resin/resinos/images: dial tcp: lookup index.docker.io on 127.0.0.2:53: server misbehaving + Error while pulling image: Get + https://index.docker.io/v1/repositories/resin/resinos/images: dial tcp: + lookup index.docker.io on 127.0.0.2:53: server misbehaving ``` @@ -1766,7 +1799,8 @@ body: >- In the partition copy step, first we switch partitions to read-only, - then do a `dd` copy between them. Noticed that some SD cards/some devices + then do a `dd` copy between them. Noticed that some SD cards/some + devices the comparison afterwards fails, but if running the same `dd ...` line @@ -1968,13 +2002,15 @@ * Source profile to get proper path information - * Enable loging (to /tmp/ as for 1.x->2.x the only filesystem that does not + * Enable loging (to /tmp/ as for 1.x->2.x the only filesystem that does + not change in the process) * Allow pulling from the staging resinOS Docker HUB repository - * Add script to call the updater through ssh (optional, for manual updates) + * Add script to call the updater through ssh (optional, for manual + updates) - hash: 10abae081f52758925b5f2a8105a626d021f33a1 author: Gergely Imreh footers: @@ -2020,7 +2056,8 @@ Doing these changes, all the output will be put in the logfile on the - device, with the downside, that over SSH there's no copy. To receive logs + device, with the downside, that over SSH there's no copy. To receive + logs over SSH, have to call with --no-log (then no logfile, but log on @@ -2084,7 +2121,8 @@ resin-vpn from the connman-managed interfaces. Previously that - setting modification was always done, even if it was already blacklisted. + setting modification was always done, even if it was already + blacklisted. For possibly better handling connman, only do the changes if `resin-vpn` @@ -2139,7 +2177,8 @@ * bail out on trying to upgrade to `.dev` version - * more defensive VARIANT_ID check for `prod` version, in case variable does not exists + * more defensive VARIANT_ID check for `prod` version, in case variable + does not exists - hash: 894bead2d80c1668c4fb658e9cb67b5c68cf9601 author: Gergely Imreh footers: @@ -2154,7 +2193,8 @@ Doing these changes, all the output will be put in the logfile on the - device, with the downside, that over SSH there's no copy. To receive logs + device, with the downside, that over SSH there's no copy. To receive + logs over SSH, have to call with --no-log (then no logfile, but log on @@ -2753,7 +2793,8 @@ body: >- supervisor.conf - can be modified by update-resin-supervisor - update-resin-supervisor - is scp'd via ssh/vpn while running resinhup ssh wrapper + update-resin-supervisor - is scp'd via ssh/vpn while running resinhup + ssh wrapper - hash: 627de1420db3c636353ff9da6dc62ad842c5ca96 author: Andrei Gherzan footers: @@ -2807,9 +2848,11 @@ body: >- This patch fixes two issues on boards running rce: - 1. As rce is actually docker 1.4.3 it can't pull from docker registry (v2). As + 1. As rce is actually docker 1.4.3 it can't pull from docker registry + (v2). As - well we know that we did the migrate from rce to docker in 1.5.0 so, if we + well we know that we did the migrate from rce to docker in 1.5.0 so, if + we update a device with rce, make sure it tries to get the update from our @@ -2884,7 +2927,8 @@ --force is used now to avoid version check too - to force update to a specific - version even if the device is already there or is already after the required + version even if the device is already there or is already after the + required version. - hash: 284cd62b088d03eaf82c396a8172684ef0a3e290 @@ -2947,9 +2991,11 @@ body: >- In some cases there is needed for the update to come with an overlay fs - structure which is intended to be written on top of new rootfs after update. + structure which is intended to be written on top of new rootfs after + update. - This overlay FHS needs to be in a directory called quirks and located in the + This overlay FHS needs to be in a directory called quirks and located in + the root of the update files structure. @@ -2967,7 +3013,8 @@ because of the fact that now we are opening the tar file without seek - availability so we can't read first the filenames and then unpack as the data in + availability so we can't read first the filenames and then unpack as the + data in tar stream is interleaved (header/data/header/data etc). - hash: 60e8aeb37af40d67b32dbe49f5166929d3e95319 @@ -3003,7 +3050,8 @@ config.json switch was done in 1.12.0 and we don't want to update devices with - versions before as this would make the updater more complex for no value. Let's + versions before as this would make the updater more complex for no + value. Let's state a restriction here. - hash: 9350cab2dbf5f8f87c6011072444974a0b1563c9 @@ -3171,7 +3219,8 @@ - version for specifying the version we want to update to - - remote for specifying an alternative source which will overwrite at runtime the + - remote for specifying an alternative source which will overwrite at + runtime the one configured through configuration file @@ -3179,7 +3228,8 @@ The version argument is mandatory. - Exit update if the current version is already at the requested one or greater. + Exit update if the current version is already at the requested one or + greater. - hash: 51b9f3c3bf64c98973ec6e52b062c64eb3ad2104 author: Andrei Gherzan footers: diff --git a/CHANGELOG.md b/CHANGELOG.md index a99113c..ee31a44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## v2.15.13 - 2024-03-28 + + - Upgrade-2.x.sh: Comment why we still need to use the release_tags [Thodoris Greasidis] + ## v2.15.12 - 2024-01-02 - Upgrade-2.x: Block draft version upgrades using the release_tag version [Thodoris Greasidis] diff --git a/app/meta/balenahupmeta.py b/app/meta/balenahupmeta.py index b47029b..b1de6a2 100644 --- a/app/meta/balenahupmeta.py +++ b/app/meta/balenahupmeta.py @@ -11,7 +11,7 @@ # title = 'resinhup' -version = '2.15.12' +version = '2.15.13' description = 'A resin host OS update tool' author = 'Andrei Gherzan' author_email = 'andrei@resin.io'