From 1be40656a142abdc00d2b1dd8c6a413230e2f530 Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Wed, 19 Apr 2017 16:47:43 -0700 Subject: [PATCH] Prevent `docker-compose scale` to be used with a v2.2 config file Signed-off-by: Joffrey F --- compose/service.py | 13 +++++++------ tests/acceptance/cli_test.py | 16 ---------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/compose/service.py b/compose/service.py index 13b327616..8699372ed 100644 --- a/compose/service.py +++ b/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( diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py index c4806ad2c..75b15ae65 100644 --- a/tests/acceptance/cli_test.py +++ b/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