---
- name: cordon-node | Mark all nodes as unschedulable before drain
  command: >-
    {{ bin_dir }}/kubectl cordon {{ item }}
  with_items:
    - "{{ node.split(',') | default(groups['kube-node']) }}"
  failed_when: false
  delegate_to: "{{ groups['kube-master']|first }}"
  run_once: true
  ignore_errors: yes

- name: remove-node | Drain node except daemonsets resource
  command: >-
    {{ bin_dir }}/kubectl --kubeconfig /etc/kubernetes/admin.conf drain
      --force
      --ignore-daemonsets
      --grace-period {{ drain_grace_period }}
      --timeout {{ drain_timeout }}
      --delete-local-data {{ item }}
  with_items:
    - "{{ node.split(',') | default(groups['kube-node']) }}"
  failed_when: false
  delegate_to: "{{ groups['kube-master']|first }}"
  run_once: true
  ignore_errors: yes