From cf9374f3ea4b94a9217e41b97373e5f04121fc47 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 12 Mar 2015 22:53:31 -0700 Subject: [PATCH 1/2] Make pid_mode parameter do minimum docker-py/docker server version checks --- cloud/docker/docker.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cloud/docker/docker.py b/cloud/docker/docker.py index bae16368bad..192e235acff 100644 --- a/cloud/docker/docker.py +++ b/cloud/docker/docker.py @@ -463,6 +463,7 @@ class DockerManager(object): 'dns': ((0, 3, 0), '1.10'), 'volumes_from': ((0, 3, 0), '1.10'), 'restart_policy': ((0, 5, 0), '1.14'), + 'pid_mode': ((1, 0, 0), '1.17'), # Clientside only 'insecure_registry': ((0, 5, 0), '0.0') } @@ -1160,11 +1161,11 @@ class DockerManager(object): 'privileged': self.module.params.get('privileged'), 'links': self.links, 'network_mode': self.module.params.get('net'), - 'pid_mode': self.module.params.get('pid'), } 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) if optionals['dns'] is not None: @@ -1181,6 +1182,10 @@ class DockerManager(object): if params['restart_policy']['Name'] == 'on-failure': 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: self.client.start(i['Id'], **params) self.increment_counter('started') From bddd02bfcbfd5b3a010ad36faefbecea33cdc390 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Fri, 13 Mar 2015 07:31:55 -0700 Subject: [PATCH 2/2] Fix lookup of parameter name to be pid instead of pid_mode --- cloud/docker/docker.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cloud/docker/docker.py b/cloud/docker/docker.py index 192e235acff..7d947c774ec 100644 --- a/cloud/docker/docker.py +++ b/cloud/docker/docker.py @@ -200,7 +200,7 @@ options: version_added: "1.8" pid: description: - - Set the PID namespace mode for the container (currently only supports 'host'). Requires docker-py >= 1.0.0 and docker >= 1.4.1. + - Set the PID namespace mode for the container (currently only supports 'host'). Requires docker-py >= 1.0.0 and docker >= 1.5.0 required: false default: None aliases: [] @@ -463,7 +463,7 @@ class DockerManager(object): 'dns': ((0, 3, 0), '1.10'), 'volumes_from': ((0, 3, 0), '1.10'), 'restart_policy': ((0, 5, 0), '1.14'), - 'pid_mode': ((1, 0, 0), '1.17'), + 'pid': ((1, 0, 0), '1.17'), # Clientside only 'insecure_registry': ((0, 5, 0), '0.0') } @@ -1165,7 +1165,7 @@ class DockerManager(object): optionals = {} for optional_param in ('dns', 'volumes_from', 'restart_policy', - 'restart_policy_retry', 'pid_mode'): + 'restart_policy_retry', 'pid'): optionals[optional_param] = self.module.params.get(optional_param) if optionals['dns'] is not None: @@ -1182,9 +1182,9 @@ class DockerManager(object): if params['restart_policy']['Name'] == 'on-failure': 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'] + if optionals['pid'] is not None: + self.ensure_capability('pid') + params['pid_mode'] = optionals['pid'] for i in containers: self.client.start(i['Id'], **params)