From 7040a443c5973be872cdf5f3a656e9f947650b2b Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 4 May 2025 12:17:10 -0700 Subject: Refactor the swarm cluster role a bit --- .../roles/swarm_cluster/swarm_join/tasks/main.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 playbooks/roles/swarm_cluster/swarm_join/tasks/main.yml (limited to 'playbooks/roles/swarm_cluster/swarm_join/tasks') diff --git a/playbooks/roles/swarm_cluster/swarm_join/tasks/main.yml b/playbooks/roles/swarm_cluster/swarm_join/tasks/main.yml new file mode 100644 index 0000000..b73030e --- /dev/null +++ b/playbooks/roles/swarm_cluster/swarm_join/tasks/main.yml @@ -0,0 +1,22 @@ +--- + +- name: Check Docker Swarm Status + ansible.builtin.command: docker info --format '{{ "{{.Swarm.LocalNodeState}}" }}' + register: docker_swarm_status + changed_when: false + +- name: Join Swarm as Manager + ansible.builtin.command: + cmd: docker swarm join --token {{ hostvars[swarm_initializer_host]['manager_token'].stdout }} {{ hostvars[swarm_initializer_host]['ansible_default_ipv4']['address'] }}:2377 + when: + - hostvars[swarm_initializer_host]['manager_token'].stdout is defined + - docker_swarm_status.stdout != "active" + register: swarm_join + changed_when: '"This node joined a swarm as a manager" in swarm_join.stdout' + +- name: Label Docker Swarm Manager Nodes + ansible.builtin.command: + cmd: docker node update --label-add manager=true {{ ansible_hostname }} + when: swarm_join is changed + changed_when: false + -- cgit v1.2.3-70-g09d2