From 9cb76b28e813c2a8ed505687e73314a8f2620ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B5=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=20=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Mon, 8 Jul 2024 23:00:54 +0300 Subject: [PATCH] fix: correct work of DaemonSetIgnore --- .../kubernetes/client/extended/kubectl/KubectlDrain.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlDrain.java b/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlDrain.java index 22fec7de0d..7b563c3915 100644 --- a/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlDrain.java +++ b/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlDrain.java @@ -69,16 +69,21 @@ private V1Node doDrain() throws KubectlException, ApiException, IOException { validatePods(allPods.getItems()); + boolean isDaemonSetPod; for (V1Pod pod : allPods.getItems()) { + isDaemonSetPod = false; // at this point we know, that we have to ignore daemon set pods if (pod.getMetadata().getOwnerReferences() != null) { for (V1OwnerReference ref : pod.getMetadata().getOwnerReferences()) { if (ref.getKind().equals("DaemonSet")) { - continue; + isDaemonSetPod = true; + break; } } } - deletePod(api, pod.getMetadata().getName(), pod.getMetadata().getNamespace()); + if (!isDaemonSetPod) { + deletePod(api, pod.getMetadata().getName(), pod.getMetadata().getNamespace()); + } } return node; }