Make pid_mode parameter do minimum docker-py/docker server version checks

This commit is contained in:
Toshio Kuratomi 2015-03-12 22:53:31 -07:00 committed by Matt Clay
parent 95df4bcbee
commit 09a0db1e1f

View file

@ -490,6 +490,7 @@ class DockerManager(object):
'dns': ((0, 3, 0), '1.10'), 'dns': ((0, 3, 0), '1.10'),
'volumes_from': ((0, 3, 0), '1.10'), 'volumes_from': ((0, 3, 0), '1.10'),
'restart_policy': ((0, 5, 0), '1.14'), 'restart_policy': ((0, 5, 0), '1.14'),
'pid_mode': ((1, 0, 0), '1.17'),
# Clientside only # Clientside only
'insecure_registry': ((0, 5, 0), '0.0') 'insecure_registry': ((0, 5, 0), '0.0')
} }
@ -1231,11 +1232,11 @@ class DockerManager(object):
'privileged': self.module.params.get('privileged'), 'privileged': self.module.params.get('privileged'),
'links': self.links, 'links': self.links,
'network_mode': self.module.params.get('net'), 'network_mode': self.module.params.get('net'),
'pid_mode': self.module.params.get('pid'),
} }
optionals = {} optionals = {}
for optional_param in ('dns', 'volumes_from', 'restart_policy', 'restart_policy_retry'): for optional_param in ('dns', 'volumes_from', 'restart_policy',
'restart_policy_retry', 'pid_mode'):
optionals[optional_param] = self.module.params.get(optional_param) optionals[optional_param] = self.module.params.get(optional_param)
if optionals['dns'] is not None: if optionals['dns'] is not None:
@ -1252,6 +1253,10 @@ class DockerManager(object):
if params['restart_policy']['Name'] == 'on-failure': if params['restart_policy']['Name'] == 'on-failure':
params['restart_policy']['MaximumRetryCount'] = optionals['restart_policy_retry'] params['restart_policy']['MaximumRetryCount'] = optionals['restart_policy_retry']
if optionals['pid_mode'] is not None:
self.ensure_capability('pid_mode')
params['pid_mode'] = optionals['pid_mode']
for i in containers: for i in containers:
self.client.start(i['Id'], **params) self.client.start(i['Id'], **params)
self.increment_counter('started') self.increment_counter('started')