From d692737a132525929fcc451ef509ddffcb8fe0c3 Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Tue, 11 Sep 2018 14:57:19 +0300 Subject: [PATCH] Extra options for upgrade mode Optionally do not drain nodes by setting drain_nodes to false Optionally set a labelselector to target which pods should be drained. --- roles/upgrade/pre-upgrade/defaults/main.yml | 2 ++ roles/upgrade/pre-upgrade/tasks/main.yml | 15 +++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/roles/upgrade/pre-upgrade/defaults/main.yml b/roles/upgrade/pre-upgrade/defaults/main.yml index e9e1ba28d..220c7a39e 100644 --- a/roles/upgrade/pre-upgrade/defaults/main.yml +++ b/roles/upgrade/pre-upgrade/defaults/main.yml @@ -1,3 +1,5 @@ --- drain_grace_period: 300 drain_timeout: 360s +drain_label_selector: "" +drain_nodes: true diff --git a/roles/upgrade/pre-upgrade/tasks/main.yml b/roles/upgrade/pre-upgrade/tasks/main.yml index 59a264f35..1b659b8fd 100644 --- a/roles/upgrade/pre-upgrade/tasks/main.yml +++ b/roles/upgrade/pre-upgrade/tasks/main.yml @@ -35,10 +35,13 @@ - name: Drain node command: >- {{ bin_dir }}/kubectl drain - --force - --ignore-daemonsets - --grace-period {{ drain_grace_period }} - --timeout {{ drain_timeout }} - --delete-local-data {{ inventory_hostname }} + --force + --ignore-daemonsets + --grace-period {{ drain_grace_period }} + --timeout {{ drain_timeout }} + --delete-local-data {{ inventory_hostname }} + {% if drain_label_selector != "" %}--selector '{{ drain_label_selector }}'{% endif %} delegate_to: "{{ groups['kube-master'][0] }}" - when: needs_cordoning + when: + - drain_nodes + - needs_cordoning