---
- hosts: all
  any_errors_fatal: true
  gather_facts: false
  vars:
    # Need to disable pipelining for bootstrap-os as some systems have requiretty in sudoers set, which makes pipelining
    # fail. bootstrap-os fixes this on these systems, so in later plays it can be enabled.
    ansible_ssh_pipelining: false
  roles:
    - bootstrap-os
  tags:
    - bootstrap-os


- hosts: all
  any_errors_fatal: true
  gather_facts: true

- hosts: all:!network-storage
  any_errors_fatal: true
  roles:
    - { role: kubernetes/preinstall, tags: preinstall }
    - { role: docker, tags: docker }

- hosts: etcd:!k8s-cluster
  any_errors_fatal: true
  roles:
    - { role: etcd, tags: etcd }

- hosts: k8s-cluster
  any_errors_fatal: true
  roles:
    - { role: etcd, tags: etcd }
    - { role: kubernetes/node, tags: node }
    - { role: network_plugin, tags: network }

- hosts: kube-master
  any_errors_fatal: true
  roles:
    - { role: kubernetes/master, tags: master }
    - { role: kubernetes-apps/lib, tags: apps }
    - { role: kubernetes-apps/network_plugin, tags: network }

- hosts: calico-rr
  any_errors_fatal: true
  roles:
    - { role: network_plugin/calico/rr, tags: network }

- hosts: k8s-cluster
  any_errors_fatal: true
  roles:
    - { role: dnsmasq, tags: dnsmasq }
    - { role: kubernetes/preinstall, tags: resolvconf }

- hosts: kube-master[0]
  any_errors_fatal: true
  roles:
    - { role: kubernetes-apps/lib, tags: apps }
    - { role: kubernetes-apps, tags: apps }
