Skip to content

Commit

Permalink
using ansible modules to perform docker actions on swarm like init, j…
Browse files Browse the repository at this point in the history
…oin, leave.
  • Loading branch information
marco.tessari committed Jun 9, 2021
1 parent b61d334 commit 81aa5b8
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 6 deletions.
6 changes: 5 additions & 1 deletion roles/docker-swarm-add-manager/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 5 additions & 1 deletion roles/docker-swarm-add-worker/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -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
6 changes: 3 additions & 3 deletions roles/docker-swarm-init/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion roles/docker-swarm-leave/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
- name: Nodes Leaving the Swarm
shell: docker swarm leave -f
docker_swarm:
state: absent
force: true
ignore_errors: true

0 comments on commit 81aa5b8

Please sign in to comment.