check for started containers only on service_start

Signed-off-by: Collins Abitekaniza <abtcolns@gmail.com>
This commit is contained in:
Collins Abitekaniza 2019-01-10 13:48:42 +03:00 committed by Joffrey F
parent 532d00fede
commit bab8b3985e
1 changed files with 5 additions and 3 deletions

View File

@ -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))