From e1c710d473b5586616ed73478336e58c8fdac836 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Fri, 4 Aug 2023 10:21:32 +0200 Subject: [PATCH] Fix NPE. --- .../org/jdrupes/vmoperator/manager/PodReconciler.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/PodReconciler.java b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/PodReconciler.java index 9967c8b..7918942 100644 --- a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/PodReconciler.java +++ b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/PodReconciler.java @@ -66,12 +66,14 @@ import org.jdrupes.vmoperator.manager.VmDefChanged.Type; "pods", channel.client()); var existing = K8s.get(podApi, event.object().getMetadata()); - // Get state - var state = GsonPtr.to((JsonObject) model.get("cr")).to("spec", "vm") - .getAsString("state").get(); + // Get state. Note that model is only available if event type + // is not DELETED. + var delete = event.type() == Type.DELETED + || GsonPtr.to((JsonObject) model.get("cr")).to("spec", "vm") + .getAsString("state").orElse("").equals(STATE_STOPPED); // If deleted or stopped, delete - if (event.type() == Type.DELETED || STATE_STOPPED.equals(state)) { + if (delete) { if (existing.isPresent()) { K8s.delete(podApi, existing.get()); }