From 141e6399f34a12f828d0799e0ee759b10c9b7be3 Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Fri, 21 Nov 2014 10:51:03 -0800 Subject: [PATCH] fix ident, raise TaskError --- bootstrapvz/plugins/docker_daemon/tasks.py | 51 +++++++++++----------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/bootstrapvz/plugins/docker_daemon/tasks.py b/bootstrapvz/plugins/docker_daemon/tasks.py index d317f66..00046e4 100644 --- a/bootstrapvz/plugins/docker_daemon/tasks.py +++ b/bootstrapvz/plugins/docker_daemon/tasks.py @@ -76,30 +76,31 @@ class PullDockerImages(Task): @classmethod def run(cls, info): - images = info.manifest.plugins['docker_daemon'].get('pull_images', []) - retries = info.manifest.plugins['docker_daemon'].get('pull_images_retries', 10) + from bootstrapvz.common.exceptions import TaskError + images = info.manifest.plugins['docker_daemon'].get('pull_images', []) + retries = info.manifest.plugins['docker_daemon'].get('pull_images_retries', 10) - bin_docker = os.path.join(info.root, 'usr/bin/docker') - graph_dir = os.path.join(info.root, 'var/lib/docker') - socket = 'unix://' + os.path.join(info.workspace, 'docker.sock') - pidfile = os.path.join(info.workspace, 'docker.pid') + bin_docker = os.path.join(info.root, 'usr/bin/docker') + graph_dir = os.path.join(info.root, 'var/lib/docker') + socket = 'unix://' + os.path.join(info.workspace, 'docker.sock') + pidfile = os.path.join(info.workspace, 'docker.pid') - try: - daemon = subprocess.Popen([bin_docker, '-d', '--graph', graph_dir, '-H', socket, '-p', pidfile]) - for _ in range(retries): - if log_check_call([bin_docker, '-H', socket, 'version']) == 0: - break - time.sleep(1) - for img in images: - if img.endswith('.tar.gz') or img.endswith('.tgz'): - cmd = [bin_docker, '-H', socket, 'load', '-i', img] - if log_check_call(cmd) != 0: - msg = 'error loading docker image {img}.'.format(img=img) - raise Exception(msg) - else: # regular docker image - cmd = [bin_docker, '-H', socket, 'pull', img] - if log_check_call(cmd) != 0: - msg = 'error pulling docker image {img}.'.format(img=img) - raise Exception(msg) - finally: - daemon.terminate() + try: + daemon = subprocess.Popen([bin_docker, '-d', '--graph', graph_dir, '-H', socket, '-p', pidfile]) + for _ in range(retries): + if log_check_call([bin_docker, '-H', socket, 'version']) == 0: + break + time.sleep(1) + for img in images: + if img.endswith('.tar.gz') or img.endswith('.tgz'): + cmd = [bin_docker, '-H', socket, 'load', '-i', img] + if log_check_call(cmd) != 0: + msg = 'error loading docker image {img}.'.format(img=img) + raise TaskError(msg) + else: # regular docker image + cmd = [bin_docker, '-H', socket, 'pull', img] + if log_check_call(cmd) != 0: + msg = 'error pulling docker image {img}.'.format(img=img) + raise TaskError(msg) + finally: + daemon.terminate()