summaryrefslogtreecommitdiff
path: root/compose/parallel.py
diff options
context:
space:
mode:
authorCollins Abitekaniza <abtcolns@gmail.com>2019-01-10 13:48:42 +0300
committerJoffrey F <joffrey@docker.com>2019-01-10 15:48:37 -0800
commitbab8b3985e02a71373f5d6f753485ac7a08c3092 (patch)
tree80637bca4b7815a03c178787cd90a94cc0cd7d2f /compose/parallel.py
parent532d00feded882dbf04732297e2d828ed022495c (diff)
check for started containers only on service_start
Signed-off-by: Collins Abitekaniza <abtcolns@gmail.com>
Diffstat (limited to 'compose/parallel.py')
-rw-r--r--compose/parallel.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/compose/parallel.py b/compose/parallel.py
index 32ee602f..dbf4845b 100644
--- a/compose/parallel.py
+++ b/compose/parallel.py
@@ -43,14 +43,15 @@ class GlobalLimit(object):
cls.global_limiter = Semaphore(value)
-def parallel_execute_watch(events, writer, errors, results, msg, get_name):
+def parallel_execute_watch(events, writer, errors, results, msg, get_name, func_name):
""" Watch events from a parallel execution, update status and fill errors and results.
Returns exception to re-raise.
"""
error_to_reraise = None
for obj, result, exception in events:
if exception is None:
- if callable(getattr(obj, 'containers', None)) and not obj.containers():
+ if func_name == 'start_service' and (
+ callable(getattr(obj, 'containers', None)) and not obj.containers()):
# If service has no containers started
writer.write(msg, get_name(obj), 'failed', red)
else:
@@ -100,7 +101,8 @@ def parallel_execute(objects, func, get_name, msg, get_deps=None, limit=None):
errors = {}
results = []
- error_to_reraise = parallel_execute_watch(events, writer, errors, results, msg, get_name)
+ error_to_reraise = parallel_execute_watch(
+ events, writer, errors, results, msg, get_name, func.__name__)
for obj_name, error in errors.items():
stream.write("\nERROR: for {} {}\n".format(obj_name, error))