--- # TBW # - import_playbook: provision-common.yml # # # - name: Install and start Docker # hosts: virtualization # tasks: # - import_tasks: tasks/docker/install.yml # # - name: Start and enable docker service # become: true # systemd: # name: docker # state: started # enabled: yes # # - name: Allow swarm traffic through the firewall # become: true # firewalld: # zone: trusted # interface: "{{ item.key }}" # permanent: true # state: enabled # # # - name: Configure swarm master # hosts: "{{ omni_docker_swarm_manager }}" # tasks: # - name: Initialize swarm # docker_swarm: # state: present # advertise_addr: "{{ omni_docker_swarm_iface }}" # # - name: Set swarm master to DRAIN # docker_node: # hostname: "{{ ansible_host }}" # availability: drain # # - name: Configure swarm nodes # hosts: # - remus # - romulus # tags: docker-nodes # tasks: # - name: Fetch docker swarm information # delegate_to: jupiter # docker_swarm_info: # register: _swarm_info # # - name: Join workers to swarm # docker_swarm: # state: join # remote_addrs: ["jupiter.svr.local"] # join_token: "{{ _swarm_info.swarm_facts.JoinTokens.Worker }}" # advertise_addr: "{{ omni_docker_swarm_iface }}" # # # docker plugin install --alias glusterfs trajano/glusterfs-volume-plugin:v2.0.3 --grant-all-permissions --disable # # docker plugin set glusterfs SERVERS=jupiter.svr.local,remus.svr.local,romulus.svr.local # # docker plugin enable glusterfs