mirror of
https://github.com/docker/compose.git
synced 2025-10-22 15:53:48 +02:00
Merge pull request #6547 from kudos/bugfix/scale-zero-default
Fix scale attribute to accept 0 as a value
This commit is contained in:
commit
7bf9963cd6
@ -176,7 +176,7 @@ class Service(object):
|
||||
network_mode=None,
|
||||
networks=None,
|
||||
secrets=None,
|
||||
scale=None,
|
||||
scale=1,
|
||||
pid_mode=None,
|
||||
default_platform=None,
|
||||
**options
|
||||
@ -191,7 +191,7 @@ class Service(object):
|
||||
self.pid_mode = pid_mode or PidMode(None)
|
||||
self.networks = networks or {}
|
||||
self.secrets = secrets or []
|
||||
self.scale_num = scale or 1
|
||||
self.scale_num = scale
|
||||
self.default_platform = default_platform
|
||||
self.options = options
|
||||
|
||||
|
@ -2512,10 +2512,12 @@ class CLITestCase(DockerClientTestCase):
|
||||
self.dispatch(['up', '-d'])
|
||||
assert len(project.get_service('web').containers()) == 2
|
||||
assert len(project.get_service('db').containers()) == 1
|
||||
assert len(project.get_service('worker').containers()) == 0
|
||||
|
||||
self.dispatch(['up', '-d', '--scale', 'web=3'])
|
||||
self.dispatch(['up', '-d', '--scale', 'web=3', '--scale', 'worker=1'])
|
||||
assert len(project.get_service('web').containers()) == 3
|
||||
assert len(project.get_service('db').containers()) == 1
|
||||
assert len(project.get_service('worker').containers()) == 1
|
||||
|
||||
def test_up_scale_scale_down(self):
|
||||
self.base_dir = 'tests/fixtures/scale'
|
||||
@ -2524,22 +2526,26 @@ class CLITestCase(DockerClientTestCase):
|
||||
self.dispatch(['up', '-d'])
|
||||
assert len(project.get_service('web').containers()) == 2
|
||||
assert len(project.get_service('db').containers()) == 1
|
||||
assert len(project.get_service('worker').containers()) == 0
|
||||
|
||||
self.dispatch(['up', '-d', '--scale', 'web=1'])
|
||||
assert len(project.get_service('web').containers()) == 1
|
||||
assert len(project.get_service('db').containers()) == 1
|
||||
assert len(project.get_service('worker').containers()) == 0
|
||||
|
||||
def test_up_scale_reset(self):
|
||||
self.base_dir = 'tests/fixtures/scale'
|
||||
project = self.project
|
||||
|
||||
self.dispatch(['up', '-d', '--scale', 'web=3', '--scale', 'db=3'])
|
||||
self.dispatch(['up', '-d', '--scale', 'web=3', '--scale', 'db=3', '--scale', 'worker=3'])
|
||||
assert len(project.get_service('web').containers()) == 3
|
||||
assert len(project.get_service('db').containers()) == 3
|
||||
assert len(project.get_service('worker').containers()) == 3
|
||||
|
||||
self.dispatch(['up', '-d'])
|
||||
assert len(project.get_service('web').containers()) == 2
|
||||
assert len(project.get_service('db').containers()) == 1
|
||||
assert len(project.get_service('worker').containers()) == 0
|
||||
|
||||
def test_up_scale_to_zero(self):
|
||||
self.base_dir = 'tests/fixtures/scale'
|
||||
@ -2548,10 +2554,12 @@ class CLITestCase(DockerClientTestCase):
|
||||
self.dispatch(['up', '-d'])
|
||||
assert len(project.get_service('web').containers()) == 2
|
||||
assert len(project.get_service('db').containers()) == 1
|
||||
assert len(project.get_service('worker').containers()) == 0
|
||||
|
||||
self.dispatch(['up', '-d', '--scale', 'web=0', '--scale', 'db=0'])
|
||||
self.dispatch(['up', '-d', '--scale', 'web=0', '--scale', 'db=0', '--scale', 'worker=0'])
|
||||
assert len(project.get_service('web').containers()) == 0
|
||||
assert len(project.get_service('db').containers()) == 0
|
||||
assert len(project.get_service('worker').containers()) == 0
|
||||
|
||||
def test_port(self):
|
||||
self.base_dir = 'tests/fixtures/ports-composefile'
|
||||
|
8
tests/fixtures/scale/docker-compose.yml
vendored
8
tests/fixtures/scale/docker-compose.yml
vendored
@ -5,5 +5,9 @@ services:
|
||||
command: top
|
||||
scale: 2
|
||||
db:
|
||||
image: busybox
|
||||
command: top
|
||||
image: busybox
|
||||
command: top
|
||||
worker:
|
||||
image: busybox
|
||||
command: top
|
||||
scale: 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user