diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 407fed68..9135b933 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,75 @@ +- commits: + - subject: Find and remove duplicate networks + hash: 89175432af9beb9f9765a6cfdbc8914a8eae251e + body: > + We have seen a few times devices with duplicated network names for some + + reason. While we don't know the cause the networks get duplicates, this + + can be disruptive for updates as trying to create a container referencing a duplicate + + network results in a 400 error from the engine. + + + This commit finds and removes duplicate networks via the state engine, + + this means that even if somehow a container could be referencing a + + network that has been duplicated later somehow, this will remove the + + container first. + + + While thies doesn't solve the problem of duplicate networks being + + created in the first place, it will fix the state of the system to + + correct the inconsistency. + footer: + Change-type: minor + change-type: minor + Closes: "#590" + closes: "#590" + author: Felipe Lalanne + nested: [] + - subject: Reference networks by Id instead of by name + hash: 180c4ff31ad719fb2b00217548514d42a4b5c4cf + body: > + We have seen a few times devices with duplicated network names for some + + reason. While we don't know the cause the networks get duplicates, + + this is disruptive of updates, as the supervisor usually queries + + resource by name, resulting in a 400 error from the engine because of + + the ambiguity. + + + This replaces those queries by name to queries by id. This includes + + network removal. If a `removeNetwork` step is generated, the supervisor + + opts to remove all instances of the network with the same name as it + + cannot easily resolve the ambiguity. + + + This doesn't solve the problem of ambiguous networks, because even if + + networks are referenced by id when creating a container, the engine will + + throw an error (see https://github.com/balena-os/balena-supervisor/issues/590#issuecomment-1423557871) + footer: + Change-type: patch + change-type: patch + Relates-to: "#590" + relates-to: "#590" + author: Felipe Lalanne + nested: [] + version: 14.9.0 + title: "" + date: 2023-02-14T17:10:08.122Z - commits: - subject: Remove dependent devices content in codebase hash: c4f9d72172ef678c73ee05e8766c9bcfddd47073 diff --git a/CHANGELOG.md b/CHANGELOG.md index fee9b050..c0ff5ea5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ 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/). +# v14.9.0 +## (2023-02-14) + +* Find and remove duplicate networks [Felipe Lalanne] +* Reference networks by Id instead of by name [Felipe Lalanne] + # v14.8.0 ## (2023-02-10) diff --git a/VERSION b/VERSION index a34fffa1..de4914e9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -14.8.0 \ No newline at end of file +14.9.0 \ No newline at end of file diff --git a/balena.yml b/balena.yml index bc7343d7..9abe8afc 100644 --- a/balena.yml +++ b/balena.yml @@ -2,6 +2,6 @@ name: balena-supervisor description: 'Balena Supervisor: balena''s agent on devices.' joinable: false type: sw.application -version: 14.8.0 +version: 14.9.0 provides: - slug: sw.compose.long-volume-syntax diff --git a/package-lock.json b/package-lock.json index ee82460f..6026230a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "balena-supervisor", - "version": "14.8.0", + "version": "14.9.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "balena-supervisor", - "version": "14.8.0", + "version": "14.9.0", "license": "Apache-2.0", "dependencies": { "@balena/happy-eyeballs": "0.0.6", diff --git a/package.json b/package.json index 61cba455..d75cd871 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "balena-supervisor", "description": "This is balena's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as the balena API informs it to.", - "version": "14.8.0", + "version": "14.9.0", "license": "Apache-2.0", "repository": { "type": "git", @@ -146,6 +146,6 @@ } }, "versionist": { - "publishedAt": "2023-02-10T23:01:03.920Z" + "publishedAt": "2023-02-14T17:10:08.913Z" } }