Silence service pull output when pulling in parallel

Signed-off-by: Evan Shaw <evan@vendhq.com>
This commit is contained in:
Evan Shaw 2017-02-13 16:16:07 +13:00
parent 05aa8c7285
commit f85da99ef3
2 changed files with 7 additions and 5 deletions

View File

@ -456,7 +456,7 @@ class Project(object):
def pull(self, service_names=None, ignore_pull_failures=False):
def pull_service(service):
service.pull(ignore_pull_failures)
service.pull(ignore_pull_failures, True)
services = self.get_services(service_names, include_deps=False)
parallel.parallel_execute(

View File

@ -886,17 +886,19 @@ class Service(object):
return any(has_host_port(binding) for binding in self.options.get('ports', []))
def pull(self, ignore_pull_failures=False):
def pull(self, ignore_pull_failures=False, silent=False):
if 'image' not in self.options:
return
repo, tag, separator = parse_repository_tag(self.options['image'])
tag = tag or 'latest'
log.info('Pulling %s (%s%s%s)...' % (self.name, repo, separator, tag))
if not silent:
log.info('Pulling %s (%s%s%s)...' % (self.name, repo, separator, tag))
try:
output = self.client.pull(repo, tag=tag, stream=True)
return progress_stream.get_digest_from_pull(
stream_output(output, sys.stdout))
if not silent:
return progress_stream.get_digest_from_pull(
stream_output(output, sys.stdout))
except (StreamOutputError, NotFound) as e:
if not ignore_pull_failures:
raise