Browse Source

Prevent `docker-compose scale` to be used with a v2.2 config file

Signed-off-by: Joffrey F <[email protected]>
Joffrey F 8 years ago
parent
commit
1be40656a1
2 changed files with 7 additions and 22 deletions
  1. 7 6
      compose/service.py
  2. 0 16
      tests/acceptance/cli_test.py

+ 7 - 6
compose/service.py

@@ -384,8 +384,8 @@ class Service(object):
                 lambda n: self.get_container_name(n),
                 "Creating"
             )
-            if errors:
-                raise OperationFailedError(errors.values()[0])
+            for error in errors.values():
+                raise OperationFailedError(error)
 
             return containers
 
@@ -405,8 +405,9 @@ class Service(object):
                 lambda c: c.name,
                 "Recreating"
             )
-            if errors:
-                raise OperationFailedError(errors.values()[0])
+            for error in errors.values():
+                raise OperationFailedError(error)
+
             if len(containers) < scale:
                 containers.extend(self._execute_convergence_create(
                     scale - len(containers), detached, start
@@ -425,8 +426,8 @@ class Service(object):
                     "Starting"
                 )
 
-                if errors:
-                    raise OperationFailedError(errors.values()[0])
+                for error in errors.values():
+                    raise OperationFailedError(error)
 
             if len(containers) < scale:
                 containers.extend(self._execute_convergence_create(

+ 0 - 16
tests/acceptance/cli_test.py

@@ -1866,7 +1866,6 @@ class CLITestCase(DockerClientTestCase):
         self.assertEqual(len(project.get_service('simple').containers()), 0)
         self.assertEqual(len(project.get_service('another').containers()), 0)
 
-<<<<<<< 10267a83dc79ba0f8cebe17b561c05367b947247
     def test_scale_v2_2(self):
         self.base_dir = 'tests/fixtures/scale'
         result = self.dispatch(['scale', 'web=1'], returncode=1)
@@ -1888,11 +1887,6 @@ class CLITestCase(DockerClientTestCase):
         self.base_dir = 'tests/fixtures/scale'
         project = self.project
 
-=======
-    def test_up_scale(self):
-        self.base_dir = 'tests/fixtures/scale'
-        project = self.project
->>>>>>> Implement --scale option on up command, allow scale config in v2.2 format
         self.dispatch(['up', '-d'])
         assert len(project.get_service('web').containers()) == 2
         assert len(project.get_service('db').containers()) == 1
@@ -1901,7 +1895,6 @@ class CLITestCase(DockerClientTestCase):
         assert len(project.get_service('web').containers()) == 1
         assert len(project.get_service('db').containers()) == 1
 
-<<<<<<< 10267a83dc79ba0f8cebe17b561c05367b947247
     def test_up_scale_reset(self):
         self.base_dir = 'tests/fixtures/scale'
         project = self.project
@@ -1917,15 +1910,6 @@ class CLITestCase(DockerClientTestCase):
     def test_up_scale_to_zero(self):
         self.base_dir = 'tests/fixtures/scale'
         project = self.project
-=======
-        self.dispatch(['up', '-d', '--scale', 'web=3'])
-        assert len(project.get_service('web').containers()) == 3
-        assert len(project.get_service('db').containers()) == 1
-
-        self.dispatch(['up', '-d', '--scale', 'web=1', '--scale', 'db=2'])
-        assert len(project.get_service('web').containers()) == 1
-        assert len(project.get_service('db').containers()) == 2
->>>>>>> Implement --scale option on up command, allow scale config in v2.2 format
 
         self.dispatch(['up', '-d'])
         assert len(project.get_service('web').containers()) == 2