From f3e6384db696733b1d941bf6fcd3be73bb6b9763 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 3 Aug 2023 11:36:23 +0200 Subject: [PATCH] Basic start/stop functionality. --- .../src/org/jdrupes/vmoperator/manager/Reconciler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/Reconciler.java b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/Reconciler.java index a5b08bf..472b994 100644 --- a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/Reconciler.java +++ b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/Reconciler.java @@ -57,6 +57,8 @@ import org.jgrapes.core.annotation.Handler; "PMD.AvoidDuplicateLiterals" }) public class Reconciler extends Component { + private static final String STATE_RUNNING = "Running"; + private static final String STATE_STOPPED = "Stopped"; private final Configuration fmConfig; /** @@ -267,8 +269,12 @@ public class Reconciler extends Component { "pods", channel.client()); var existing = K8s.get(podApi, event.metadata()); - // If deleted, delete - if (event.type() == Type.DELETED) { + // Get state + var state = GsonPtr.to((JsonObject) model.get("cr")).to("spec", "vm") + .getAsString("state").get(); + + // If deleted or stopped, delete + if (event.type() == Type.DELETED || STATE_STOPPED.equals(state)) { if (existing.isPresent()) { K8s.delete(podApi, existing.get()); }