From af03e4d34bffcabd26e72eb85137b91f348ee2cb Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Thu, 9 Mar 2017 02:19:59 +0000 Subject: docker-puppet.py fail if any worker fails Currently returncodes are ignored from docker puppet workers, so a failed puppet apply may not manifest until later in the stack deployment due to some other failure. This change logs any failures at the end of the run and returns a failure code if any worker returns a failure code. Change-Id: I6a504dbeb4c0ac465ce10e7647830524fe0a1160 --- docker/docker-puppet.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'docker/docker-puppet.py') diff --git a/docker/docker-puppet.py b/docker/docker-puppet.py index 157bf63f..f5d814c1 100755 --- a/docker/docker-puppet.py +++ b/docker/docker-puppet.py @@ -253,4 +253,13 @@ for p in process_map: # Fire off processes to perform each configuration. Defaults # to the number of CPUs on the system. p = multiprocessing.Pool(process_count) -p.map(mp_puppet_config, process_map) +returncodes = list(p.map(mp_puppet_config, process_map)) +config_volumes = [pm[0] for pm in process_map] +success = True +for returncode, config_volume in zip(returncodes, config_volumes): + if returncode != 0: + print('ERROR configuring %s' % config_volume) + success = False + +if not success: + sys.exit(1) -- cgit 1.2.3-korg