Created
April 5, 2019 14:47
-
-
Save gjovanov/110954afc73d28a4a0f55ff245b16aba to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| - name: Docker Swarm - Checking Swarm Mode status | |
| command: "docker info" | |
| register: "docker_info" | |
| changed_when: false | |
| check_mode: no | |
| become: true | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Initializing Docker Swarm Mode on first manager | |
| command: > | |
| docker swarm init | |
| --listen-addr {{ docker_swarm_addr }}:{{ docker_swarm_port }} | |
| --advertise-addr {{ docker_swarm_addr }} | |
| become: true | |
| when: > | |
| 'Swarm: inactive' in docker_info.stdout and | |
| inventory_hostname == docker_swarm_primary_manager | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Capturing Docker Swarm Worker join-token | |
| command: "docker swarm join-token -q worker" | |
| changed_when: false | |
| register: "docker_swarm_worker_token" | |
| become: true | |
| when: > | |
| inventory_hostname == docker_swarm_primary_manager | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Capturing Docker Swarm Manager join-token | |
| command: "docker swarm join-token -q manager" | |
| changed_when: false | |
| register: "docker_swarm_manager_token" | |
| become: true | |
| when: > | |
| inventory_hostname == docker_swarm_primary_manager | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Defining Docker Swarm Manager Address | |
| set_fact: | |
| docker_swarm_manager_address: "{{ docker_swarm_addr }}:{{ docker_swarm_port }}" | |
| changed_when: false | |
| when: > | |
| inventory_hostname == docker_swarm_primary_manager | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Defining Docker Swarm Manager Address | |
| set_fact: | |
| docker_swarm_manager_address: "{{ hostvars[docker_swarm_primary_manager]['docker_swarm_manager_address'] }}" | |
| changed_when: false | |
| when: > | |
| inventory_hostname != docker_swarm_primary_manager | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Defining Docker Swarm Manager join-token | |
| set_fact: | |
| docker_swarm_manager_token: "{{ hostvars[docker_swarm_primary_manager]['docker_swarm_manager_token'] }}" | |
| changed_when: false | |
| when: > | |
| inventory_hostname != docker_swarm_primary_manager | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Defining Docker Swarm Worker join-token | |
| set_fact: | |
| docker_swarm_worker_token: "{{ hostvars[docker_swarm_primary_manager]['docker_swarm_worker_token'] }}" | |
| changed_when: false | |
| when: > | |
| inventory_hostname != docker_swarm_primary_manager | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Joining Additional Docker Swarm Managers To Cluster | |
| command: > | |
| docker swarm join | |
| --listen-addr {{ docker_swarm_addr }}:{{ docker_swarm_port }} | |
| --advertise-addr {{ docker_swarm_addr }} | |
| --token {{ docker_swarm_manager_token.stdout }} | |
| {{ docker_swarm_manager_address }} | |
| become: true | |
| when: > | |
| inventory_hostname != docker_swarm_primary_manager and | |
| inventory_hostname not in groups[docker_swarm_workers_ansible_group] and | |
| 'Swarm: active' not in docker_info.stdout and | |
| 'Swarm: pending' not in docker_info.stdout | |
| tags: [docker-swarm] | |
| - name: Docker Swarm - Joining Docker Swarm Workers To Cluster | |
| command: > | |
| docker swarm join | |
| --listen-addr {{ docker_swarm_addr }}:{{ docker_swarm_port }} | |
| --advertise-addr {{ docker_swarm_addr }} | |
| --token {{ docker_swarm_worker_token.stdout }} | |
| {{ docker_swarm_manager_address }} | |
| become: true | |
| when: > | |
| inventory_hostname in groups[docker_swarm_workers_ansible_group] and | |
| 'Swarm: active' not in docker_info.stdout and | |
| 'Swarm: pending' not in docker_info.stdout | |
| tags: [docker-swarm] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment