Ensure that spoc-app installs layers in correct order, closes #1

This commit is contained in:
Disassembler 2020-04-13 21:26:11 +02:00
parent 0614c15e3e
commit 54c12759ee
No known key found for this signature in database
GPG Key ID: 524BD33A0EE29499

View File

@ -34,7 +34,8 @@ def install(app_name):
for container in repo_online.get_app(app_name)['containers'].values():
required_images.extend(repo_online.get_image(container['image'])['layers'])
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:
queue.download_image(Image(layer, False))
queue.install_app(App(app_name, False, False))
@ -48,7 +49,8 @@ def update(app_name):
for container in repo_online.get_app(app_name)['containers'].values():
required_images.extend(repo_online.get_image(container['image'])['layers'])
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:
queue.download_image(Image(layer, False))
queue.update_app(App(app_name, False))