From b97e33f5d557163d57654520da8bb43e835b7697 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 26 Apr 2021 19:48:57 +0200 Subject: [PATCH] Ignore version on supervisor update (#2840) * Ignore version on supervisor update * fix property --- supervisor/api/supervisor.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/supervisor/api/supervisor.py b/supervisor/api/supervisor.py index d850eaa0b..981eab577 100644 --- a/supervisor/api/supervisor.py +++ b/supervisor/api/supervisor.py @@ -197,10 +197,18 @@ class APISupervisor(CoreSysAttributes): async def update(self, request: web.Request) -> None: """Update Supervisor OS.""" body = await api_validate(SCHEMA_VERSION, request) - version = body.get(ATTR_VERSION, self.sys_updater.version_supervisor) - if version == self.sys_supervisor.version: - raise APIError(f"Version {version} is already in use") + # This option is useless outside of DEV + if not self.sys_dev and not self.sys_supervisor.need_update: + raise APIError( + f"No supervisor update available - {self.sys_supervisor.version!s}" + ) + + if self.sys_dev: + version = body.get(ATTR_VERSION, self.sys_updater.version_supervisor) + else: + version = self.sys_updater.version_supervisor + await asyncio.shield(self.sys_supervisor.update(version)) @api_process