summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Zanzico <dariko@users.noreply.github.com>2018-12-10 09:39:13 +0100
committerToshio Kuratomi <a.badger@gmail.com>2018-12-10 11:48:48 -0800
commit961382bf5e0cf943e9132a37b099fabd0d400f31 (patch)
tree4bc776e951527e16e4a9076b2f81c79f7f5effa2
parent291c9388ead3ddb35c7ae3e76a092f9337b21581 (diff)
downloadansible-961382bf5e0cf943e9132a37b099fabd0d400f31.tar.gz
docker_swarm_service: ensure idempotency when the user parameter is None (#49235)
* ensure idempotency for user set to None * Update `user` documentation and add changelog fragment * clarify changelog fragments and parameters documentation * use restructuredtext syntax in changelog fragment (cherry picked from commit b183eb44643c315a0fbdc0d8d88cdbd221a46e7c)
-rw-r--r--changelogs/fragments/49235-docker_swarm_service-user-default.yaml5
-rw-r--r--lib/ansible/modules/cloud/docker/docker_swarm_service.py7
2 files changed, 10 insertions, 2 deletions
diff --git a/changelogs/fragments/49235-docker_swarm_service-user-default.yaml b/changelogs/fragments/49235-docker_swarm_service-user-default.yaml
new file mode 100644
index 0000000000..b45227b250
--- /dev/null
+++ b/changelogs/fragments/49235-docker_swarm_service-user-default.yaml
@@ -0,0 +1,5 @@
+---
+bugfixes:
+ - 'docker_swarm_service: fails because of default "user: root" (https://github.com/ansible/ansible/issues/49199)'
+minor_changes:
+ - 'docker_swarm_service: use docker defaults for the ``user`` parameter if it is set to ``null``'
diff --git a/lib/ansible/modules/cloud/docker/docker_swarm_service.py b/lib/ansible/modules/cloud/docker/docker_swarm_service.py
index d478c26d2d..f22b5f7e2d 100644
--- a/lib/ansible/modules/cloud/docker/docker_swarm_service.py
+++ b/lib/ansible/modules/cloud/docker/docker_swarm_service.py
@@ -273,7 +273,10 @@ options:
user:
required: false
default: root
- description: username or UID
+ description:
+ - username or UID.
+ - "If set to C(null) the image provided value (or the one already
+ set for the service) will be used"
extends_documentation_fragment:
- docker
requirements:
@@ -718,7 +721,7 @@ class DockerService(DockerBaseClass):
differences.append('update_order')
if self.image != os.image.split('@')[0]:
differences.append('image')
- if self.user != os.user:
+ if self.user and self.user != os.user:
differences.append('user')
if self.dns != os.dns:
differences.append('dns')