From 2b082b362dc69c8bd0c979ed640f8340d676c974 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 28 Mar 2020 15:21:32 +0100 Subject: [PATCH] Fix cli update (#1605) * Fix cli update * fix logging * Fix --- supervisor/cli.py | 18 ++++++++++++------ supervisor/dns.py | 9 +++++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/supervisor/cli.py b/supervisor/cli.py index 6b2d9bc49..4872d183a 100644 --- a/supervisor/cli.py +++ b/supervisor/cli.py @@ -65,7 +65,7 @@ class HaCli(CoreSysAttributes, JsonConfig): await self.instance.attach(tag=self.version) except DockerAPIError: - _LOGGER.info("No Audio plugin Docker image %s found.", self.instance.image) + _LOGGER.info("No cli plugin Docker image %s found.", self.instance.image) # Install cli with suppress(CliError): @@ -89,7 +89,7 @@ class HaCli(CoreSysAttributes, JsonConfig): if self.latest_version: with suppress(DockerAPIError): - await self.instance.install(self.latest_version) + await self.instance.install(self.latest_version, latest=True) break _LOGGER.warning("Error on install cli plugin. Retry in 30sec") await asyncio.sleep(30) @@ -111,10 +111,16 @@ class HaCli(CoreSysAttributes, JsonConfig): except DockerAPIError: _LOGGER.error("HA cli update fails") raise CliUpdateError() from None - else: - # Cleanup - with suppress(DockerAPIError): - await self.instance.cleanup() + + # Cleanup + with suppress(DockerAPIError): + await self.instance.cleanup() + + self.version = version + self.save_data() + + # Start cli + await self.start() async def start(self) -> None: """Run cli.""" diff --git a/supervisor/dns.py b/supervisor/dns.py index 98b20cf57..e25c35cc8 100644 --- a/supervisor/dns.py +++ b/supervisor/dns.py @@ -165,15 +165,16 @@ class CoreDNS(JsonConfig, CoreSysAttributes): _LOGGER.warning("Version %s is already installed for CoreDNS", version) return + # Update try: await self.instance.update(version) except DockerAPIError: _LOGGER.error("CoreDNS update fails") raise CoreDNSUpdateError() from None - else: - # Cleanup - with suppress(DockerAPIError): - await self.instance.cleanup() + + # Cleanup + with suppress(DockerAPIError): + await self.instance.cleanup() self.version = version self.save_data()