Added unit test and used stop_timeout

Signed-off-by: Andy Neff <andyneff@users.noreply.github.com>
This commit is contained in:
Andy Neff 2017-10-27 17:44:17 -04:00 committed by Joffrey F
parent 2df3d6f75a
commit 0e4bd32a65
2 changed files with 13 additions and 3 deletions

View File

@ -14,8 +14,8 @@ from docker.errors import APIError
from docker.errors import ImageNotFound from docker.errors import ImageNotFound
from docker.errors import NotFound from docker.errors import NotFound
from docker.types import LogConfig from docker.types import LogConfig
from docker.utils import version_lt
from docker.utils import version_gte from docker.utils import version_gte
from docker.utils import version_lt
from docker.utils.ports import build_port_bindings from docker.utils.ports import build_port_bindings
from docker.utils.ports import split_port from docker.utils.ports import split_port
from docker.utils.utils import convert_tmpfs_mounts from docker.utils.utils import convert_tmpfs_mounts
@ -762,8 +762,7 @@ class Service(object):
if (version_gte(self.client.api_version, '1.25') and if (version_gte(self.client.api_version, '1.25') and
'stop_grace_period' in self.options): 'stop_grace_period' in self.options):
container_options['stop_timeout'] = parse_seconds_float( container_options['stop_timeout'] = self.stop_timeout(None)
self.options.pop('stop_grace_period'))
if 'ports' in container_options or 'expose' in self.options: if 'ports' in container_options or 'expose' in self.options:
container_options['ports'] = build_container_ports( container_options['ports'] = build_container_ports(

View File

@ -228,6 +228,17 @@ class ServiceTest(unittest.TestCase):
{'Type': 'syslog', 'Config': {'syslog-address': 'tcp://192.168.0.42:123'}} {'Type': 'syslog', 'Config': {'syslog-address': 'tcp://192.168.0.42:123'}}
) )
def test_stop_grace_period(self):
self.mock_client.api_version = '1.25'
self.mock_client.create_host_config.return_value = {}
service = Service(
'foo',
image='foo',
client=self.mock_client,
stop_grace_period="1m35s")
opts = service._get_container_create_options({'image': 'foo'}, 1)
self.assertEqual(opts['stop_timeout'], 95)
def test_split_domainname_none(self): def test_split_domainname_none(self):
service = Service( service = Service(
'foo', 'foo',