Browse Source

Silence service pull output when pulling in parallel

Signed-off-by: Evan Shaw <[email protected]>
Evan Shaw 9 years ago
parent
commit
f85da99ef3
2 changed files with 7 additions and 5 deletions
  1. 1 1
      compose/project.py
  2. 6 4
      compose/service.py

+ 1 - 1
compose/project.py

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

+ 6 - 4
compose/service.py

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