diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-01-29 17:41:39 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-01-29 17:41:40 +0000 |
| commit | 0584634bcc26556f8038b6703928e62077709b44 (patch) | |
| tree | 011fb5c3c7a575cef8eea7e49cda1c1f42383dcc | |
| parent | 0f635266fea764bc13f685716cca3d9f9d68bdec (diff) | |
| parent | 55c3e0252eee60fe488404bf7409ca93216026aa (diff) | |
| download | kolla-0584634bcc26556f8038b6703928e62077709b44.tar.gz kolla-0584634bcc26556f8038b6703928e62077709b44.zip | |
Merge "Add labels to docker module"
| -rw-r--r-- | ansible/library/kolla_docker.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/ansible/library/kolla_docker.py b/ansible/library/kolla_docker.py index 3a1958c7c..5cab7b47e 100644 --- a/ansible/library/kolla_docker.py +++ b/ansible/library/kolla_docker.py @@ -85,6 +85,12 @@ options: - Name of the docker image required: False type: str + labels: + description: + - List of labels to apply to container + required: False + type: dict + default: dict() pid_mode: description: - Set docker pid namespace @@ -232,6 +238,7 @@ class DockerWorker(object): return ( self.compare_image(container_info) or + self.compare_labels(container_info) or self.compare_privileged(container_info) or self.compare_pid_mode(container_info) or self.compare_volumes(container_info) or @@ -260,6 +267,20 @@ class DockerWorker(object): if new_image['Id'] != current_image: return True + def compare_labels(self, container_info): + new_labels = self.params.get('labels') + current_labels = container_info['Config'].get('Labels', dict()) + image_labels = self.check_image().get('Labels', dict()) + for k, v in image_labels.iteritems(): + if k in new_labels: + if v != new_labels[k]: + return True + else: + del current_labels[k] + + if new_labels != current_labels: + return True + def compare_volumes_from(self, container_info): new_vols_from = self.params.get('volumes_from') current_vols_from = container_info['HostConfig'].get('VolumesFrom') @@ -419,6 +440,7 @@ class DockerWorker(object): 'detach': self.params.get('detach'), 'environment': self.params.get('environment'), 'host_config': self.build_host_config(binds), + 'labels': self.params.get('labels'), 'image': self.params.get('image'), 'name': self.params.get('name'), 'volumes': volumes, @@ -494,6 +516,7 @@ def generate_module(): auth_registry=dict(required=False, type='str'), auth_username=dict(required=False, type='str'), detach=dict(required=False, type='bool', default=True), + labels=dict(required=False, type='dict', default=dict()), name=dict(required=False, type='str'), environment=dict(required=False, type='dict'), image=dict(required=False, type='str'), |
