Ensure that app installs layers in correct order

This commit is contained in:
Disassembler 2020-04-13 21:26:56 +02:00
parent 3f287e430b
commit 2047753096
No known key found for this signature in database
GPG Key ID: 524BD33A0EE29499

View File

@ -200,7 +200,8 @@ def install_app(app_name, queue):
for container in new_containers: for container in new_containers:
required_images.extend(repo_online.get_image(container['image'])['layers']) required_images.extend(repo_online.get_image(container['image'])['layers'])
local_images = repo_local.get_images() local_images = repo_local.get_images()
for layer in set(required_images): # Layers need to be downloaded in correct order
for layer in list(dict.fromkeys(required_images)):
if layer not in local_images: if layer not in local_images:
queue.download_image(Image(layer, False)) queue.download_image(Image(layer, False))
queue.install_app(App(app_name, False, False)) queue.install_app(App(app_name, False, False))
@ -221,7 +222,8 @@ def update_app(app_name, queue):
for container in new_containers: for container in new_containers:
required_images.extend(repo_online.get_image(container['image'])['layers']) required_images.extend(repo_online.get_image(container['image'])['layers'])
local_images = repo_local.get_images() local_images = repo_local.get_images()
for layer in set(required_images): # Layers need to be downloaded in correct order
for layer in list(dict.fromkeys(required_images)):
if layer not in local_images: if layer not in local_images:
queue.download_image(Image(layer, False)) queue.download_image(Image(layer, False))
app = App(app_name, False) app = App(app_name, False)