v16.7.0
Report app release update status to the API
The Supervisor now reports the status of a release update/install in a new update_status
field as part of the state report. This field will be used by the backend to populate the homonymous field on the Device resource on the API and allow users to filter the device list based on its value.
This field may have the following values
rejected
means that the target release has required services that do not meet the necessary requirements to run.aborted
means that the supervisor has given up on trying to install a new release. There are currently no conditions under which the supervisor returns this state, but future work could allow the supervisor to abort an update, for instance, after a number of failed download tries.downloading
indicates that the release images are being downloadeddownloaded
indicates that the release images have been downloaded and the supervisor is waiting for locks to apply changes (depending on the update strategy)applying changes
means that the supervisor is performing actions to install the new release, i.e. killing old containers and making volumes/network/container changes.done
means that the target has been reached and no more changes are required.
On the API side, users will be able to identify update issues by looking at the update_status
field and the last_update_status_event
. A device with update status different than done
indicates something is preventing the supervisor from downloading/installing the new release.
List of commits
e9a52e6 (Store rejected apps in the database, 2024-06-27)
227fee9 (Set the app update status when reporting state, 2024-06-06)
48e526e (Refactor contracts validation code, 2024-06-14)
e9f460f (Add update status to types, 2024-06-05)
9b819e4 (Update typescript to 5.5.4, 2024-08-22)