Healthy/Unhealthy state means addon started (#3773)

This commit is contained in:
Mike Degatano 2022-08-05 10:04:34 -04:00 committed by GitHub
parent 2279c813d0
commit 13c10dbb47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 1 deletions

View File

@ -888,7 +888,11 @@ class Addon(AddonModel):
if event.name != self.instance.name:
return
if event.state == ContainerState.RUNNING:
if event.state in [
ContainerState.RUNNING,
ContainerState.HEALTHY,
ContainerState.UNHEALTHY,
]:
self.state = AddonState.STARTED
elif event.state == ContainerState.STOPPED:
self.state = AddonState.STOPPED

View File

@ -99,6 +99,18 @@ async def test_addon_state_listener(coresys: CoreSys, install_addon_ssh: Addon)
await asyncio.sleep(0)
assert install_addon_ssh.state == AddonState.STOPPED
coresys.bus.fire_event(
BusEvent.DOCKER_CONTAINER_STATE_CHANGE,
DockerContainerStateEvent(
name=f"addon_{TEST_ADDON_SLUG}",
state=ContainerState.HEALTHY,
id="abc123",
time=1,
),
)
await asyncio.sleep(0)
assert install_addon_ssh.state == AddonState.STARTED
coresys.bus.fire_event(
BusEvent.DOCKER_CONTAINER_STATE_CHANGE,
DockerContainerStateEvent(