Adding function to wait for server to be back online after core element upgrade

This commit is contained in:
2024-04-25 10:54:06 +02:00
parent f234ef2015
commit 7dedfdb5d7

12
main.py
View File

@@ -1,5 +1,6 @@
import os
import json
from time import sleep
import requests
@@ -75,6 +76,14 @@ class PortainerClient:
return f"Downloaded newer image for {image}" in status
def ping_server(self):
try:
r = requests.get(f"{self.api_url}/", headers=self._get_headers())
except requests.exceptions.ConnectionError:
return False
return r.status_code == 200
def update_repositories():
for repo_path in config.git_repositories:
@@ -118,6 +127,9 @@ if __name__ == '__main__':
print(f"Restarting {stack_name}")
if endpoint == 2 and stack_name in ('portainer', 'traefik'):
update_local_stack(stack)
while not client.ping_server():
print("Waiting for server to be back online...")
sleep(1)
else:
client.upgrade_stack(stack)