--- - name: Wait for Cloud-init to finish hosts: manager, workers gather_facts: no roles: - cloudinit_wait - name: Initialize Docker Swarm nodes hosts: manager, workers pre_tasks: - name: Delete externally managed environment file shell: cmd: "rm /usr/lib/python*/EXTERNALLY-MANAGED" register: rm changed_when: "rm.rc == 0" failed_when: "false" roles: - setup_apt post_tasks: - name: Install Docker include_role: name: docker vars: docker_daemon_config: log-driver: fluentd log-opts: fluentd-address: "localhost:22222" tag: "docker.{{ '{{' }}.Name{{ '}}' }}" - name: Setup Docker Swarm manager hosts: manager tasks: - name: Install pip packages pip: name: - jsondiff - pyyaml - name: Create Docker Swarm docker_swarm: - name: Get Docker Swarm manager info docker_swarm_info: nodes: yes nodes_filters: name: manager register: swarm_info - hosts: workers tasks: - name: Join Docker Swarm docker_swarm: state: join join_token: "{{ hostvars.manager.swarm_info.swarm_facts.JoinTokens.Worker }}" remote_addrs: - "{{ hostvars.manager.ansible_default_ipv4.address }}" - hosts: manager tasks: - name: Add concourse to authorized keys authorized_key: user: root key: "{{ concourse_public_key }}" - hosts: manager, workers tasks: - name: Increase vm.max_map_count sysctl: name: vm.max_map_count value: 262144