diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-03-16 19:16:40 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-03-16 19:16:40 +0000 |
| commit | 906c13eb6148d0c48b5f5ae157cfb10113efe173 (patch) | |
| tree | d3c573ca8da423110abc2cd76ade29e5fc7a5094 | |
| parent | 32efae5536f028194f7eca6209fcffa733bea983 (diff) | |
| parent | f97fecd73690204aa981f355d3a5d1434515e1f3 (diff) | |
| download | kolla-906c13eb6148d0c48b5f5ae157cfb10113efe173.tar.gz kolla-906c13eb6148d0c48b5f5ae157cfb10113efe173.zip | |
Merge "Set --ipc option to "host" for kolla_docker"
| -rw-r--r-- | ansible/library/kolla_docker.py | 20 |
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), |
