From d0cc9df805bd69ffe23c29003957c36b4bd8db59 Mon Sep 17 00:00:00 2001 From: SelfhostedPro Date: Thu, 1 Oct 2020 07:22:34 -0700 Subject: [PATCH 1/2] added self update error handling --- backend/api/actions/apps.py | 12 ++++++++-- .../src/components/serverSettings/Prune.vue | 22 ++++++++++++++---- .../serverSettings/ServerUpdate.vue | 23 ++++++++++--------- 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/backend/api/actions/apps.py b/backend/api/actions/apps.py index 356c62ee..544868dc 100644 --- a/backend/api/actions/apps.py +++ b/backend/api/actions/apps.py @@ -171,7 +171,15 @@ def update_self(): dclient = docker.from_env() bash_command = "head -1 /proc/self/cgroup|cut -d/ -f3" yacht_id = subprocess.check_output(['bash','-c', bash_command]).decode('UTF-8').strip() - yacht = dclient.containers.get(yacht_id) + try: + yacht = dclient.containers.get(yacht_id) + except Exception as exc: + print(exc) + if exc.response.status_code == 404: + raise HTTPException(status_code=exc.response.status_code, detail="Unable to get Yacht container ID") + else: + raise HTTPException(status_code=exc.response.status_code, detail=exc.explanation) + volumes ={'/var/run/docker.sock': {'bind':'/var/run/docker.sock', 'mode': 'rw'}} print('**** Updating '+yacht.name+'****') updater = dclient.containers.run( @@ -184,7 +192,7 @@ def update_self(): result = updater.wait(timeout=120) print(result) time.sleep(1) - return get_apps() + return result def prune_images(): dclient = docker.from_env() diff --git a/frontend/src/components/serverSettings/Prune.vue b/frontend/src/components/serverSettings/Prune.vue index 582a5a0a..abb45d68 100644 --- a/frontend/src/components/serverSettings/Prune.vue +++ b/frontend/src/components/serverSettings/Prune.vue @@ -1,5 +1,13 @@