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; }