From 67f5a8e8747b3437103dc57bbc5ba6988055ad21 Mon Sep 17 00:00:00 2001
From: Bjarke Madsen <bjarke.madsen@geant.org>
Date: Thu, 8 Jul 2021 12:13:53 +0200
Subject: [PATCH] Add sanity check to resolve problem seen on servers

---
 brian_dashboard_manager/routes/update.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/brian_dashboard_manager/routes/update.py b/brian_dashboard_manager/routes/update.py
index 780d40d..9b6fa58 100644
--- a/brian_dashboard_manager/routes/update.py
+++ b/brian_dashboard_manager/routes/update.py
@@ -40,6 +40,13 @@ def should_provision():
             timestamp = datetime.datetime.fromtimestamp(
                 state.get('timestamp', 1))
 
+            now = datetime.datetime.now()
+            if provisioning and (now - timestamp).total_seconds() > 86400:
+                # if we stay in provisioning state
+                # for over a day, we probably restarted
+                # and the state file is out of sync.
+                provisioning = False
+
             can_provision = not provisioning
             return can_provision, timestamp
     except FileNotFoundError:
-- 
GitLab