mirror of
https://github.com/docker/compose.git
synced 2026-08-28 12:23:49 +00:00
Prevent docker-compose scale to be used with a v2.2 config file
Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
afb2b6c51c
commit
2ba4e5e8ec
6 changed files with 61 additions and 24 deletions
|
|
@ -565,12 +565,12 @@ class ProjectTest(DockerClientTestCase):
|
|||
self.assertEqual(len(service.containers()), 3)
|
||||
project.up()
|
||||
service = project.get_service('web')
|
||||
self.assertEqual(len(service.containers()), 3)
|
||||
self.assertEqual(len(service.containers()), 1)
|
||||
service.scale(1)
|
||||
self.assertEqual(len(service.containers()), 1)
|
||||
project.up()
|
||||
project.up(scale_override={'web': 3})
|
||||
service = project.get_service('web')
|
||||
self.assertEqual(len(service.containers()), 1)
|
||||
self.assertEqual(len(service.containers()), 3)
|
||||
# does scale=0 ,makes any sense? after recreating at least 1 container is running
|
||||
service.scale(0)
|
||||
project.up()
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ from compose.const import LABEL_PROJECT
|
|||
from compose.const import LABEL_SERVICE
|
||||
from compose.const import LABEL_VERSION
|
||||
from compose.container import Container
|
||||
from compose.errors import OperationFailedError
|
||||
from compose.project import OneOffFilter
|
||||
from compose.service import ConvergencePlan
|
||||
from compose.service import ConvergenceStrategy
|
||||
|
|
@ -777,15 +778,15 @@ class ServiceTest(DockerClientTestCase):
|
|||
message="testing",
|
||||
response={},
|
||||
explanation="Boom")):
|
||||
|
||||
with mock.patch('sys.stderr', new_callable=StringIO) as mock_stderr:
|
||||
service.scale(3)
|
||||
with pytest.raises(OperationFailedError):
|
||||
service.scale(3)
|
||||
|
||||
self.assertEqual(len(service.containers()), 1)
|
||||
self.assertTrue(service.containers()[0].is_running)
|
||||
self.assertIn(
|
||||
"ERROR: for composetest_web_2 Cannot create container for service web: Boom",
|
||||
mock_stderr.getvalue()
|
||||
assert len(service.containers()) == 1
|
||||
assert service.containers()[0].is_running
|
||||
assert (
|
||||
"ERROR: for composetest_web_2 Cannot create container for service"
|
||||
" web: Boom" in mock_stderr.getvalue()
|
||||
)
|
||||
|
||||
def test_scale_with_unexpected_exception(self):
|
||||
|
|
@ -837,7 +838,8 @@ class ServiceTest(DockerClientTestCase):
|
|||
service = self.create_service('app', container_name='custom-container')
|
||||
self.assertEqual(service.custom_container_name, 'custom-container')
|
||||
|
||||
service.scale(3)
|
||||
with pytest.raises(OperationFailedError):
|
||||
service.scale(3)
|
||||
|
||||
captured_output = mock_log.warn.call_args[0][0]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue