diff --git a/roles/docker-swarm-add-manager/tasks/main.yml b/roles/docker-swarm-add-manager/tasks/main.yml index 49533a3..7bc6f74 100644 --- a/roles/docker-swarm-add-manager/tasks/main.yml +++ b/roles/docker-swarm-add-manager/tasks/main.yml @@ -6,6 +6,10 @@ tags: swarm - name: Add Managers to the Swarm - shell: "docker swarm join --token {{ hostvars['swarm-manager']['manager_token']['stdout'] }} {{ hostvars['swarm-manager']['ansible_default_ipv4']['address'] }}:2377" + docker_swarm: + state: join + advertise_addr: "{{ hostvars['swarm-manager']['ansible_default_ipv4']['address'] }}" + join_token: "{{ hostvars['swarm-manager']['manager_token']['stdout'] }}" + remote_addrs: "{{ hostvars['swarm-manager']['ansible_default_ipv4']['address'] }}:2377" when: swarm_status.rc != 0 tags: swarm diff --git a/roles/docker-swarm-add-worker/tasks/main.yml b/roles/docker-swarm-add-worker/tasks/main.yml index cf33e16..08de540 100644 --- a/roles/docker-swarm-add-worker/tasks/main.yml +++ b/roles/docker-swarm-add-worker/tasks/main.yml @@ -1,4 +1,8 @@ --- - name: Add Workers to the Swarm - shell: "docker swarm join --token {{ hostvars['swarm-manager']['worker_token']['stdout'] }} {{ hostvars['swarm-manager']['ansible_default_ipv4']['address'] }}:2377" + docker_swarm: + state: join + advertise_addr: "{{ hostvars['swarm-manager']['ansible_default_ipv4']['address'] }}" + join_token: "{{ hostvars['swarm-manager']['worker_token']['stdout'] }}" + remote_addrs: [ "{{ hostvars['swarm-manager']['ansible_default_ipv4']['address'] }}:2377" ] tags: swarm diff --git a/roles/docker-swarm-init/tasks/main.yml b/roles/docker-swarm-init/tasks/main.yml index 787423c..d427f87 100644 --- a/roles/docker-swarm-init/tasks/main.yml +++ b/roles/docker-swarm-init/tasks/main.yml @@ -6,9 +6,9 @@ tags: swarm - name: Initialize Docker Swarm - shell: > - docker swarm init - --advertise-addr={{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}:2377 + docker_swarm: + state: present + default_addr_poll: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" when: swarm_status.rc != 0 run_once: true tags: swarm diff --git a/roles/docker-swarm-leave/tasks/main.yml b/roles/docker-swarm-leave/tasks/main.yml index aecc2a2..8ea3185 100644 --- a/roles/docker-swarm-leave/tasks/main.yml +++ b/roles/docker-swarm-leave/tasks/main.yml @@ -1,4 +1,6 @@ --- - name: Nodes Leaving the Swarm - shell: docker swarm leave -f + docker_swarm: + state: absent + force: true ignore_errors: true