From 52cce0b7af8c347bc40acc82ae3673f6991570e5 Mon Sep 17 00:00:00 2001 From: Minh Ha Date: Mon, 20 Jul 2020 12:14:16 -0400 Subject: [PATCH] removes advertise_addr from required parameters when state is "join" (#646) * removes advertise_addr from required parameters when state is "join" addressing this issue: https://github.com/ansible-collections/community.general/issues/439 * adjusts test * adds changelog --- ...ker_swarm-remove-advertise_addr-from-join-requirement.yaml | 2 ++ plugins/modules/cloud/docker/docker_swarm.py | 2 +- tests/integration/targets/docker_swarm/tasks/tests/basic.yml | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 changelogs/fragments/646-docker_swarm-remove-advertise_addr-from-join-requirement.yaml diff --git a/changelogs/fragments/646-docker_swarm-remove-advertise_addr-from-join-requirement.yaml b/changelogs/fragments/646-docker_swarm-remove-advertise_addr-from-join-requirement.yaml new file mode 100644 index 0000000000..b247190f08 --- /dev/null +++ b/changelogs/fragments/646-docker_swarm-remove-advertise_addr-from-join-requirement.yaml @@ -0,0 +1,2 @@ +bugfixes: + - docker_swarm - removes ``advertise_addr`` from list of required arguments when ``state`` is ``"join"`` (https://github.com/ansible-collections/community.general/issues/439). diff --git a/plugins/modules/cloud/docker/docker_swarm.py b/plugins/modules/cloud/docker/docker_swarm.py index 66c8cbb915..687313c9c6 100644 --- a/plugins/modules/cloud/docker/docker_swarm.py +++ b/plugins/modules/cloud/docker/docker_swarm.py @@ -627,7 +627,7 @@ def main(): ) required_if = [ - ('state', 'join', ['advertise_addr', 'remote_addrs', 'join_token']), + ('state', 'join', ['remote_addrs', 'join_token']), ('state', 'remove', ['node_id']) ] diff --git a/tests/integration/targets/docker_swarm/tasks/tests/basic.yml b/tests/integration/targets/docker_swarm/tasks/tests/basic.yml index d19532d468..4e9005fc8e 100644 --- a/tests/integration/targets/docker_swarm/tasks/tests/basic.yml +++ b/tests/integration/targets/docker_swarm/tasks/tests/basic.yml @@ -10,11 +10,11 @@ ignore_errors: yes register: output -- name: assert failure when called with state=join and no advertise_addr,remote_addrs,join_token +- name: assert failure when called with state=join and no remote_addrs,join_token assert: that: - 'output.failed' - - 'output.msg == "state is join but all of the following are missing: advertise_addr, remote_addrs, join_token"' + - 'output.msg == "state is join but all of the following are missing: remote_addrs, join_token"' - name: Test parameters with state=remove docker_swarm: