From cf9374f3ea4b94a9217e41b97373e5f04121fc47 Mon Sep 17 00:00:00 2001
From: Toshio Kuratomi <toshio@fedoraproject.org>
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 <toshio@fedoraproject.org>
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)