From ca66a96d0ac7934b6af66ab2aad5c2ce975c6dca Mon Sep 17 00:00:00 2001
From: Lars <ldue@users.noreply.github.com>
Date: Fri, 21 Aug 2020 09:13:39 +0200
Subject: [PATCH] make pre-remove node draining a failable task (#6442)

and add configuration to allow ungraceful removal
---
 roles/remove-node/pre-remove/defaults/main.yml | 1 +
 roles/remove-node/pre-remove/tasks/main.yml    | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/roles/remove-node/pre-remove/defaults/main.yml b/roles/remove-node/pre-remove/defaults/main.yml
index e9e1ba28d..1e5b849cc 100644
--- a/roles/remove-node/pre-remove/defaults/main.yml
+++ b/roles/remove-node/pre-remove/defaults/main.yml
@@ -1,3 +1,4 @@
 ---
+allow_ungraceful_removal: false
 drain_grace_period: 300
 drain_timeout: 360s
diff --git a/roles/remove-node/pre-remove/tasks/main.yml b/roles/remove-node/pre-remove/tasks/main.yml
index 32421c1a3..34a2b043d 100644
--- a/roles/remove-node/pre-remove/tasks/main.yml
+++ b/roles/remove-node/pre-remove/tasks/main.yml
@@ -4,7 +4,7 @@
     {{ bin_dir }}/kubectl cordon {{ hostvars[item]['kube_override_hostname']|default(item) }}
   with_items:
     - "{{ node.split(',') | default(groups['kube-node']) }}"
-  failed_when: false
+  failed_when: result.rc == 0 and not allow_ungraceful_removal
   delegate_to: "{{ groups['kube-master']|first }}"
   run_once: true
   ignore_errors: yes
@@ -19,7 +19,7 @@
       --delete-local-data {{ hostvars[item]['kube_override_hostname']|default(item) }}
   with_items:
     - "{{ node.split(',') | default(groups['kube-node']) }}"
-  failed_when: false
+  failed_when: result.rc == 0 and not allow_ungraceful_removal
   delegate_to: "{{ groups['kube-master']|first }}"
   run_once: true
   ignore_errors: yes
-- 
GitLab