Update Ansible playbook

Update Ansible playbook to work with Vagrant instead of Terraform/EC2

Signed-off-by: Scott Lowe <scott.lowe@scottlowe.org>
This commit is contained in:
Scott Lowe 2017-09-13 11:13:27 -06:00
parent d5dc506b41
commit 0eb0ea7e0d
No known key found for this signature in database
GPG key ID: 949F43F6E6C11780

View file

@ -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