From fd195082e6be0babccee213cc1d1fc5b3781da7c Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Sat, 9 Dec 2017 12:49:38 +0100 Subject: [PATCH] Do not assume that util.skopeo_copy can't fail If the disk is full (https://github.com/projectatomic/atomic/issues/1146), atomic will continue and show errors later, which is puzzling and hard to debug. --- Atomic/backends/_docker.py | 3 +-- Atomic/run.py | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Atomic/backends/_docker.py b/Atomic/backends/_docker.py index 099edb7e..6c4191db 100644 --- a/Atomic/backends/_docker.py +++ b/Atomic/backends/_docker.py @@ -343,9 +343,8 @@ def pull_image(self, image, remote_image_obj, **kwargs): trust = Trust() trust.discover_sigstore(fq_name) util.write_out("Pulling {} ...".format(fq_name)) - util.skopeo_copy("docker://{}".format(fq_name), image, debug=debug, insecure=insecure, + return util.skopeo_copy("docker://{}".format(fq_name), image, debug=debug, insecure=insecure, policy_filename=trust.policy_filename, src_creds=src_creds) - return 0 def delete_container(self, container, force=False): return self.d.remove_container(container, force=force) diff --git a/Atomic/run.py b/Atomic/run.py index c19ff7db..7f9ee02d 100644 --- a/Atomic/run.py +++ b/Atomic/run.py @@ -108,7 +108,9 @@ def run(self): if self.args.display: return 0 try: - db.pull_image(self.image, remote_image_obj) + err = db.pull_image(self.image, remote_image_obj) + if err: + raise ValueError("Unable to pull image {}".format(self.image)) img_object = db.has_image(self.image) except RegistryInspectError: raise ValueError("Unable to find image {}".format(self.image))