mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-01-02 03:56:41 +00:00
v14.11.2
This commit is contained in:
parent
ce9ba9aac1
commit
d3f9821895
@ -1,3 +1,55 @@
|
|||||||
|
- commits:
|
||||||
|
- subject: Handle Engine-host race condition for "always" and "unless-stopped"
|
||||||
|
restart policy
|
||||||
|
hash: 7f3214195838a8bf3242ef7540b4487338687e4c
|
||||||
|
body: >
|
||||||
|
There exists a race condition between Engine and a host resource that
|
||||||
|
may not
|
||||||
|
|
||||||
|
be immediately created. In this race condition, if a container's compose config
|
||||||
|
|
||||||
|
depends on the existence of that host resource, such as a network interface, and the
|
||||||
|
|
||||||
|
Engine tries to create & start the container before the host resource is created, the
|
||||||
|
|
||||||
|
Engine will not reattempt to start the container, regardless of the restart policy.
|
||||||
|
|
||||||
|
This is undesireable behavior but seems to be the behavior as implemented by Docker.
|
||||||
|
|
||||||
|
|
||||||
|
To rectify this, the Supervisor state funnel noops for a grace period of 1 minute
|
||||||
|
|
||||||
|
after starting a container to see that the container's status has become 'running`.
|
||||||
|
|
||||||
|
If the container exits because of the race condition, the status becomes 'exited' and the
|
||||||
|
|
||||||
|
Supervisor will attempt to generate another start step. This noop-wait-start step loop
|
||||||
|
|
||||||
|
will repeat until the container is able to start.
|
||||||
|
|
||||||
|
|
||||||
|
If the container is never able to start, there was a problem in the host in the creation of the
|
||||||
|
|
||||||
|
host resource, and that should be fixed at the host level.
|
||||||
|
|
||||||
|
|
||||||
|
This commit does not handle the case of services with restart policies "no" or "on-failure"
|
||||||
|
|
||||||
|
which encounter this host race, as metadata from container inspects needs to be introduced
|
||||||
|
|
||||||
|
during step calculation in order to figure out whether services with those restart policies
|
||||||
|
|
||||||
|
need to be started. This will be fixed in a future PR.
|
||||||
|
footer:
|
||||||
|
Change-type: patch
|
||||||
|
change-type: patch
|
||||||
|
Signed-off-by: Christina Ying Wang <christina@balena.io>
|
||||||
|
signed-off-by: Christina Ying Wang <christina@balena.io>
|
||||||
|
author: Christina Ying Wang
|
||||||
|
nested: []
|
||||||
|
version: 14.11.2
|
||||||
|
title: ""
|
||||||
|
date: 2023-06-05T18:53:18.287Z
|
||||||
- commits:
|
- commits:
|
||||||
- subject: Fix `sw.arch` typo when testing contracts
|
- subject: Fix `sw.arch` typo when testing contracts
|
||||||
hash: 2758e190b28ea07d5b40daaa9e59434f2bfc28e9
|
hash: 2758e190b28ea07d5b40daaa9e59434f2bfc28e9
|
||||||
|
@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file
|
|||||||
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
# v14.11.2
|
||||||
|
## (2023-06-05)
|
||||||
|
|
||||||
|
* Handle Engine-host race condition for "always" and "unless-stopped" restart policy [Christina Ying Wang]
|
||||||
|
|
||||||
# v14.11.1
|
# v14.11.1
|
||||||
## (2023-05-11)
|
## (2023-05-11)
|
||||||
|
|
||||||
|
@ -2,6 +2,6 @@ name: balena-supervisor
|
|||||||
description: 'Balena Supervisor: balena''s agent on devices.'
|
description: 'Balena Supervisor: balena''s agent on devices.'
|
||||||
joinable: false
|
joinable: false
|
||||||
type: sw.application
|
type: sw.application
|
||||||
version: 14.11.1
|
version: 14.11.2
|
||||||
provides:
|
provides:
|
||||||
- slug: sw.compose.long-volume-syntax
|
- slug: sw.compose.long-volume-syntax
|
||||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "balena-supervisor",
|
"name": "balena-supervisor",
|
||||||
"version": "14.11.1",
|
"version": "14.11.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "balena-supervisor",
|
"name": "balena-supervisor",
|
||||||
"version": "14.11.1",
|
"version": "14.11.2",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@balena/happy-eyeballs": "0.0.6",
|
"@balena/happy-eyeballs": "0.0.6",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "balena-supervisor",
|
"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.",
|
"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.11.1",
|
"version": "14.11.2",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -146,6 +146,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"versionist": {
|
"versionist": {
|
||||||
"publishedAt": "2023-05-11T22:07:33.587Z"
|
"publishedAt": "2023-06-05T18:53:18.956Z"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user