diff --git a/docker/ubuntu-swarm-mode/create-swarm.yml b/docker/ubuntu-swarm-mode/create-swarm.yml index 4b45bdb..e0e6b2e 100644 --- a/docker/ubuntu-swarm-mode/create-swarm.yml +++ b/docker/ubuntu-swarm-mode/create-swarm.yml @@ -9,6 +9,9 @@ name: "python-pip" state: "present" update_cache: "yes" + tags: + - manager + - worker - name: "Install some Python modules" pip: @@ -19,42 +22,65 @@ - "pyopenssl" - "ndg-httpsclient" - "pyasn1" + tags: + - manager + - worker - name: "Install Docker APT Key" apt_key: url: "https://download.docker.com/linux/ubuntu/gpg" state: "present" + tags: + - manager + - worker - name: "Add Docker repository" apt_repository: repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu trusty stable" state: "present" update_cache: "yes" + tags: + - manager + - worker - name: "Install Docker CE" package: name: "docker-ce" state: "present" + tags: + - manager + - worker - name: "Add user to Docker group" user: name: "{{ ansible_ssh_user }}" group: "docker" append: "yes" + tags: + - manager + - worker - name: "Initialize Docker Swarm from manager" command: "docker swarm init --advertise-addr {{ ansible_default_ipv4.address }}" - when: "ansible.hostname == manager" + when: ansible_hostname == 'manager' + tags: + - manager - name: "Register Swarm join token" command: "docker swarm join-token -q worker" register: swarm_token - when: "ansible.hostname == manager" + when: ansible_hostname == 'manager' + tags: + - manager - name: "Establish Swarm join token as a host fact" set_fact: swarmtoken="{{ swarm_token.stdout }}" - when: "ansible.hostname == manager" + when: ansible_hostname == 'manager' + tags: + - manager - name: "Join worker nodes to Swarm cluster" - command: "docker swarm join --advertise-addr {{ ansible_default_ipv4.address }} --token {{ hostvars[groups['tag_role_manager'][0]].swarmtoken }} {{ hostvars[groups['tag_role_manager'][0]].ansible_default_ipv4.address }}:2377" - when: "ansible.hostname != manager" + command: "docker swarm join --advertise-addr {{ ansible_default_ipv4.address }} --token {{ hostvars['manager'].swarmtoken }} {{ hostvars['manager'].ansible_default_ipv4.address }}:2377" + when: ansible_hostname != 'manager' + tags: + - worker