From 5cab5f0c082ce2bb5ccc6103e7727e1bb15c05df Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 4 Sep 2020 20:58:58 +0200 Subject: [PATCH] Fix error while add-on DNS sync (#2016) --- supervisor/addons/__init__.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/supervisor/addons/__init__.py b/supervisor/addons/__init__.py index bebb78f38..53ae136cf 100644 --- a/supervisor/addons/__init__.py +++ b/supervisor/addons/__init__.py @@ -359,11 +359,17 @@ class AddonManager(CoreSysAttributes): """Sync add-ons DNS names.""" # Update hosts for addon in self.installed: - if not await addon.instance.is_running(): - continue - self.sys_plugins.dns.add_host( - ipv4=addon.ip_address, names=[addon.hostname], write=False - ) + try: + if not await addon.instance.is_running(): + continue + except DockerAPIError as err: + _LOGGER.warning("Add-on %s is corrupt: %s", addon.slug, err) + self.sys_core.healthy = False + self.sys_capture_exception(err) + else: + self.sys_plugins.dns.add_host( + ipv4=addon.ip_address, names=[addon.hostname], write=False + ) # Write hosts files with suppress(CoreDNSError):