summaryrefslogtreecommitdiffstats
path: root/build/download/docker_images.py
diff options
context:
space:
mode:
authorMilan Verespej <m.verespej@partner.samsung.com>2019-05-23 14:21:19 +0200
committerMilan Verespej <m.verespej@partner.samsung.com>2019-06-04 15:46:42 +0200
commit455be472dfdd4b3c9d2e1cc3c4962115760383f4 (patch)
tree076dc7f5d741d3685c6269f8ac6a5b0f92a2c53b /build/download/docker_images.py
parentdf7d7cc1294c6ea1fcab2ed4ac2ee7c375b29651 (diff)
Add base download script
This script is supposed to be used for convenience when downloading data from multiple lists at once. Issue-ID: OOM-1803 Change-Id: I4031ed3650f7880883e299b43c79e6bfd08c886c Signed-off-by: Milan Verespej <m.verespej@partner.samsung.com>
Diffstat (limited to 'build/download/docker_images.py')
-rwxr-xr-xbuild/download/docker_images.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/build/download/docker_images.py b/build/download/docker_images.py
index e4e742b3..d8138dd6 100755
--- a/build/download/docker_images.py
+++ b/build/download/docker_images.py
@@ -180,7 +180,7 @@ def download_docker_image(image, save, output_dir, docker_client):
if save:
save_image(image, pulled_image, output_dir)
except Exception as err:
- log.error('Error downloading {}: {}'.format(image, err))
+ log.exception('Error downloading {}: {}'.format(image, err))
raise err
@@ -195,10 +195,10 @@ def download(image_list, save, output_dir, check_mode, progress, workers=3):
:return: None
"""
try:
- docker_client = docker.client.DockerClient(version='auto')
+ # big timeout in case of massive images like pnda-mirror-container:5.0.0 (11.4GB)
+ docker_client = docker.client.DockerClient(version='auto', timeout=300)
except docker.errors.DockerException as err:
- log.error(err)
- log.error('Error creating docker client. Check if is docker installed and running'
+ log.exception('Error creating docker client. Check if is docker installed and running'
' or if you have right permissions.')
raise err
@@ -221,14 +221,12 @@ def download(image_list, save, output_dir, check_mode, progress, workers=3):
missing_images['not_saved'] - missing_images['not_pulled'],
None, output_dir, docker_client)
+ base.finish_progress(progress, error_count, log)
if error_count > 0:
log.error('{} images were not downloaded'.format(error_count))
missing_images = missing(docker_client, target_images, save, output_dir)
log.info(check_table(merge_dict_sets(missing_images), missing_images, save))
-
- base.finish_progress(progress, error_count, log)
-
- return error_count
+ raise RuntimeError()
def run_cli():
@@ -256,11 +254,13 @@ def run_cli():
progress = base.init_progress('Docker images') if not args.check else None
try:
- sys.exit(download(args.image_list, args.save, args.output_dir, args.check,
- progress, args.workers))
+ download(args.image_list, args.save, args.output_dir, args.check,
+ progress, args.workers)
except docker.errors.DockerException:
- log.error('Irrecoverable error detected.')
+ log.exception('Irrecoverable error detected.')
sys.exit(1)
+ except RuntimeError as err:
+ log.exception(err)
if __name__ == '__main__':