Fix scale when containers exit immediately

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
Aanand Prasad 2016-01-21 15:19:55 +00:00
parent cbec6f8834
commit 513a6b35cc
2 changed files with 8 additions and 5 deletions

View File

@ -228,11 +228,9 @@ class Service(object):
sorted_running_containers = sorted(
running_containers,
key=attrgetter('number'))
parallel_stop(
sorted_running_containers[-num_to_stop:],
dict(timeout=timeout))
parallel_remove(self.containers(stopped=True), {})
containers_to_stop = sorted_running_containers[-num_to_stop:]
parallel_stop(containers_to_stop, dict(timeout=timeout))
parallel_remove(containers_to_stop, {})
def create_container(self,
one_off=False,

View File

@ -746,6 +746,11 @@ class ServiceTest(DockerClientTestCase):
for container in containers:
self.assertEqual(list(container.inspect()['HostConfig']['PortBindings'].keys()), ['8000/tcp'])
def test_scale_with_immediate_exit(self):
service = self.create_service('web', image='busybox', command='true')
service.scale(2)
assert len(service.containers(stopped=True)) == 2
def test_network_mode_none(self):
service = self.create_service('web', net=Net('none'))
container = create_and_start_container(service)