---
# FIXME: remove if kubernetes/features#124 is implemented
- name: Weave | Purge old weave daemonset
  kube:
    name: "weave-net"
    kubectl: "{{ bin_dir }}/kubectl"
    filename: "{{ kube_config_dir }}/weave-net.yml"
    resource: "ds"
    namespace: "{{system_namespace}}"
    state: absent
  when: inventory_hostname == groups['kube-master'][0] and weave_manifest.changed

- name: Weave | Start Resources
  kube:
    name: "weave-net"
    kubectl: "{{ bin_dir }}/kubectl"
    filename: "{{ kube_config_dir }}/weave-net.yml"
    resource: "ds"
    namespace: "{{system_namespace}}"
    state: "{{ item | ternary('latest','present') }}"
  with_items: "{{ weave_manifest.changed }}"
  when: inventory_hostname == groups['kube-master'][0]

- name: "Weave | wait for weave to become available"
  uri:
    url: http://127.0.0.1:6784/status
    return_content: yes
  register: weave_status
  retries: 180
  delay: 5
  until: "{{ weave_status.status == 200 and
    'Status: ready' in weave_status.content }}"
  when: inventory_hostname == groups['kube-master'][0]
