diff --git a/roles/remove-node/pre-remove/defaults/main.yml b/roles/remove-node/pre-remove/defaults/main.yml
index e9e1ba28d3128569355d2454baddebc67077d902..1e5b849cc92cf72eedb1fdc58b69e33ab6a16b2d 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 32421c1a38d44219aa9852c798e11ded935e6d25..34a2b043d8fc5f2ccaf2313c6b0197dbb308f886 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