aboutsummaryrefslogtreecommitdiff
path: root/ansible
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-03-16 19:16:40 +0000
committerGerrit Code Review <review@openstack.org>2016-03-16 19:16:40 +0000
commit906c13eb6148d0c48b5f5ae157cfb10113efe173 (patch)
treed3c573ca8da423110abc2cd76ade29e5fc7a5094 /ansible
parent32efae5536f028194f7eca6209fcffa733bea983 (diff)
parentf97fecd73690204aa981f355d3a5d1434515e1f3 (diff)
downloadkolla-906c13eb6148d0c48b5f5ae157cfb10113efe173.tar.gz
kolla-906c13eb6148d0c48b5f5ae157cfb10113efe173.zip
Merge "Set --ipc option to "host" for kolla_docker"
Diffstat (limited to 'ansible')
-rw-r--r--ansible/library/kolla_docker.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/ansible/library/kolla_docker.py b/ansible/library/kolla_docker.py
index d5bf658cf..341d78bf6 100644
--- a/ansible/library/kolla_docker.py
+++ b/ansible/library/kolla_docker.py
@@ -90,6 +90,14 @@ options:
- Name of the docker image
required: False
type: str
+ ipc_mode:
+ description:
+ - Set docker ipc namespace
+ required: False
+ type: str
+ default: None
+ choices:
+ - host
labels:
description:
- List of labels to apply to container
@@ -245,6 +253,7 @@ class DockerWorker(object):
container_info = self.get_container_info()
return (
self.compare_image(container_info) or
+ self.compare_ipc_mode(container_info) or
self.compare_labels(container_info) or
self.compare_privileged(container_info) or
self.compare_pid_mode(container_info) or
@@ -253,6 +262,15 @@ class DockerWorker(object):
self.compare_environment(container_info)
)
+ def compare_ipc_mode(self, container_info):
+ new_ipc_mode = self.params.get('ipc_mode')
+ current_ipc_mode = container_info['HostConfig'].get('IpcMode')
+ if not current_ipc_mode:
+ current_ipc_mode = None
+
+ if new_ipc_mode != current_ipc_mode:
+ return True
+
def compare_pid_mode(self, container_info):
new_pid_mode = self.params.get('pid_mode')
current_pid_mode = container_info['HostConfig'].get('PidMode')
@@ -442,6 +460,7 @@ class DockerWorker(object):
def build_host_config(self, binds):
options = {
'network_mode': 'host',
+ 'ipc_mode': self.params.get('ipc_mode'),
'pid_mode': self.params.get('pid_mode'),
'privileged': self.params.get('privileged'),
'volumes_from': self.params.get('volumes_from')
@@ -594,6 +613,7 @@ def generate_module():
name=dict(required=False, type='str'),
environment=dict(required=False, type='dict'),
image=dict(required=False, type='str'),
+ ipc_mode=dict(required=False, type='str', choices=['host']),
pid_mode=dict(required=False, type='str', choices=['host']),
privileged=dict(required=False, type='bool', default=False),
remove_on_exit=dict(required=False, type='bool', default=True),