Browse Source

Only cordon Ready nodes

pull/1153/head
Matthew Mosesohn 8 years ago
parent
commit
44d851d5bb
3 changed files with 17 additions and 3 deletions
  1. 2
      roles/kubernetes/master/tasks/pre-upgrade.yml
  2. 1
      roles/upgrade/post-upgrade/tasks/main.yml
  3. 17
      roles/upgrade/pre-upgrade/tasks/main.yml

2
roles/kubernetes/master/tasks/pre-upgrade.yml

@ -93,3 +93,5 @@
delegate_to: "{{item}}"
with_items: "{{groups['etcd']}}"
when: needs_etcd_migration|bool
notify: "Master | reload kubelet"

1
roles/upgrade/post-upgrade/tasks/main.yml

@ -3,3 +3,4 @@
- name: Uncordon node
command: "{{ bin_dir }}/kubectl uncordon {{ ansible_hostname }}"
delegate_to: "{{ groups['kube-master'][0] }}"
when: needs_cordoning|default(false)

17
roles/upgrade/pre-upgrade/tasks/main.yml

@ -1,8 +1,21 @@
---
- name: See if node is in ready state
command: "kubectl get nodes | grep {{ inventory_hostname }}"
register: kubectl_nodes
ignore_errors: true
- set_fact:
needs_cordoning: >-
{% if " Ready" in kubectl_nodes.stdout %}
true
{% else %}
false
{% endif %}
- name: Cordon node
command: "{{ bin_dir }}/kubectl cordon {{ ansible_hostname }}"
delegate_to: "{{ groups['kube-master'][0] }}"
when: needs_cordoning
- name: Drain node
command: >-
@ -13,6 +26,4 @@
--timeout {{ drain_timeout }}
--delete-local-data {{ ansible_hostname }}
delegate_to: "{{ groups['kube-master'][0] }}"
- name: Sleep for grace period for draining
pause: seconds=30
when: needs_cordoning
Loading…
Cancel
Save