Making status and detection mo betta
parent
60460c025c
commit
03bb729fea
|
@ -2,4 +2,5 @@
|
||||||
- name: Uncordon node
|
- name: Uncordon node
|
||||||
command: "{{ bin_dir }}/kubectl uncordon {{ inventory_hostname }}"
|
command: "{{ bin_dir }}/kubectl uncordon {{ inventory_hostname }}"
|
||||||
delegate_to: "{{ groups['kube-master'][0] }}"
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
||||||
when: needs_cordoning|default(false)
|
when:
|
||||||
|
- needs_cordoning|default(false)
|
||||||
|
|
|
@ -1,13 +1,27 @@
|
||||||
---
|
---
|
||||||
|
# Node Ready: type = ready, status = True
|
||||||
|
# Node NotReady: type = ready, status = Unknown
|
||||||
- name: See if node is in ready state
|
- name: See if node is in ready state
|
||||||
shell: "{{ bin_dir }}/kubectl get nodes | grep {{ inventory_hostname }}"
|
shell: >-
|
||||||
register: kubectl_nodes
|
{{ bin_dir }}/kubectl get node {{ inventory_hostname }}
|
||||||
|
-o jsonpath='{ range .status.conditions[?(@.type == "Ready")].status }{ @ }{ end }'
|
||||||
|
register: kubectl_node_ready
|
||||||
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
||||||
|
failed_when: false
|
||||||
|
|
||||||
|
# SchedulingDisabled: unschedulable = true
|
||||||
|
# else unschedulable key doesn't exist
|
||||||
|
- name: See if node is schedulable
|
||||||
|
shell: >-
|
||||||
|
{{ bin_dir }}/kubectl get node {{ inventory_hostname }}
|
||||||
|
-o jsonpath='{ .spec.unschedulable }'
|
||||||
|
register: kubectl_node_schedulable
|
||||||
delegate_to: "{{ groups['kube-master'][0] }}"
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
||||||
failed_when: false
|
failed_when: false
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
needs_cordoning: >-
|
needs_cordoning: >-
|
||||||
{% if " Ready" in kubectl_nodes.stdout -%}
|
{% if kubectl_node_ready.stdout == "True" and kubectl_node_schedulable.stdout == "" -%}
|
||||||
true
|
true
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
false
|
false
|
||||||
|
|
Loading…
Reference in New Issue