Skip to content

Commit

Permalink
pre-upgrade cleanup (#10656)
Browse files Browse the repository at this point in the history
* Clean up redondant defaulting

drain_{timeout,grace_period}_after_failure don't exist at this point, so
they always default.

* Remove useless facts

The drain_*_after_failure are never used
  • Loading branch information
VannTen authored Nov 28, 2023
1 parent c87d70b commit 0d7bdc6
Showing 1 changed file with 18 additions and 34 deletions.
52 changes: 18 additions & 34 deletions roles/upgrade/pre-upgrade/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,7 @@

- name: Set if node needs cordoning
set_fact:
# noqa: jinja[spacing]
needs_cordoning: >-
{% if (kubectl_node_ready.stdout == "True" and not kubectl_node_schedulable.stdout) or upgrade_node_always_cordon -%}
true
{%- else -%}
false
{%- endif %}
needs_cordoning: "{{ (kubectl_node_ready.stdout == 'True' and not kubectl_node_schedulable.stdout) or upgrade_node_always_cordon }}"

- name: Node draining
delegate_to: "{{ groups['kube_control_plane'][0] }}"
Expand All @@ -61,8 +55,8 @@
{{ kubectl }} drain
--force
--ignore-daemonsets
--grace-period {{ hostvars['localhost']['drain_grace_period_after_failure'] | default(drain_grace_period) }}
--timeout {{ hostvars['localhost']['drain_timeout_after_failure'] | default(drain_timeout) }}
--grace-period {{ drain_grace_period }}
--timeout {{ drain_timeout }}
--delete-emptydir-data {{ kube_override_hostname | default(inventory_hostname) }}
{% if drain_pod_selector %}--pod-selector '{{ drain_pod_selector }}'{% endif %}
when: drain_nodes
Expand All @@ -74,35 +68,25 @@
retries: "{{ drain_retries }}"
delay: "{{ drain_retry_delay_seconds }}"

- name: Drain fallback
- name: Drain node - fallback with disabled eviction
when:
- drain_nodes
- drain_fallback_enabled
- result.rc != 0
block:
- name: Set facts after regular drain has failed
set_fact:
drain_grace_period_after_failure: "{{ drain_fallback_grace_period }}"
drain_timeout_after_failure: "{{ drain_fallback_timeout }}"
delegate_to: localhost
delegate_facts: yes
run_once: yes

- name: Drain node - fallback with disabled eviction
command: >-
{{ kubectl }} drain
--force
--ignore-daemonsets
--grace-period {{ drain_fallback_grace_period }}
--timeout {{ drain_fallback_timeout }}
--delete-emptydir-data {{ kube_override_hostname | default(inventory_hostname) }}
{% if drain_pod_selector %}--pod-selector '{{ drain_pod_selector }}'{% endif %}
--disable-eviction
register: drain_fallback_result
until: drain_fallback_result.rc == 0
retries: "{{ drain_fallback_retries }}"
delay: "{{ drain_fallback_retry_delay_seconds }}"
changed_when: drain_fallback_result.rc == 0
command: >-
{{ kubectl }} drain
--force
--ignore-daemonsets
--grace-period {{ drain_fallback_grace_period }}
--timeout {{ drain_fallback_timeout }}
--delete-emptydir-data {{ kube_override_hostname | default(inventory_hostname) }}
{% if drain_pod_selector %}--pod-selector '{{ drain_pod_selector }}'{% endif %}
--disable-eviction
register: drain_fallback_result
until: drain_fallback_result.rc == 0
retries: "{{ drain_fallback_retries }}"
delay: "{{ drain_fallback_retry_delay_seconds }}"
changed_when: drain_fallback_result.rc == 0

rescue:
- name: Set node back to schedulable
Expand Down

0 comments on commit 0d7bdc6

Please sign in to comment.