From be07468ca031a8fe4294fd0eed1b500b44b6cf03 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Mon, 17 Feb 2025 10:27:33 +0100 Subject: [PATCH 1/4] Recreate branch testing. --- deploy/vmop-deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/vmop-deployment.yaml b/deploy/vmop-deployment.yaml index 648cc39..f61d5f1 100644 --- a/deploy/vmop-deployment.yaml +++ b/deploy/vmop-deployment.yaml @@ -20,13 +20,13 @@ spec: containers: - name: vm-operator image: >- - ghcr.io/mnlipp/org.jdrupes.vmoperator.manager:latest + registry.mnl.de/org/jdrupes/vm-operator/org.jdrupes.vmoperator.manager:testing + imagePullPolicy: Always volumeMounts: - name: config mountPath: /etc/opt/vmoperator - name: vmop-image-repository mountPath: /var/local/vmop-image-repository - imagePullPolicy: Always securityContext: capabilities: drop: From e6acafdf957dd9069ce1a748c716f8e49284cd26 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 16 Mar 2025 22:09:20 +0100 Subject: [PATCH 2/4] Consolidate debug messages. --- .../jdrupes/vmoperator/common/K8sObserver.java | 17 ++++++++++++----- .../vmoperator/manager/AbstractMonitor.java | 9 +-------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java b/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java index 80e3863..a0cd16c 100644 --- a/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java +++ b/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java @@ -27,6 +27,7 @@ import io.kubernetes.client.util.generic.GenericKubernetesApi; import io.kubernetes.client.util.generic.options.ListOptions; import java.time.Duration; import java.time.Instant; +import java.util.Optional; import java.util.function.BiConsumer; import java.util.logging.Level; import java.util.logging.Logger; @@ -89,10 +90,11 @@ public class K8sObserver { try { - logger - .config(() -> "Watching " + context.getResourcePlural() - + " (" + context.getPreferredVersion() + ")" - + " in " + namespace); + logger.fine(() -> "Observing " + context.getResourcePlural() + + " (" + context.getPreferredVersion() + ")" + + Optional.ofNullable(options.getLabelSelector()) + .map(ls -> " with labels " + ls).orElse("") + + " in " + namespace); // Watch sometimes terminates without apparent reason. while (!Thread.currentThread().isInterrupted()) { @@ -102,7 +104,12 @@ public class K8sObserver "Resource " + + context.getKind() + "/" + + response.object.getMetadata().getName() + + " " + response.type); + handler.accept(client, response); } } catch (ApiException | RuntimeException e) { logger.log(Level.FINE, e, () -> "Problem watching" diff --git a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/AbstractMonitor.java b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/AbstractMonitor.java index 56440f9..eb545a3 100644 --- a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/AbstractMonitor.java +++ b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/AbstractMonitor.java @@ -199,8 +199,6 @@ public abstract class AbstractMonitor "Observing " + K8s.toString(context) - + " objects in " + namespace); // Monitor all versions for (var version : context.getVersions()) { @@ -219,12 +217,7 @@ public abstract class AbstractMonitor(objectClass, objectListClass, client, K8s.preferred(context, version), namespace, options) - .handler((c, r) -> { - logger.fine(() -> "Resource " + context.getKind() - + "/" + r.object.getMetadata().getName() + " " - + r.type); - handleChange(c, r); - }).onTerminated((o, t) -> { + .handler(this::handleChange).onTerminated((o, t) -> { if (observerCounter.decrementAndGet() == 0) { unregisterAsGenerator(); } From 270f2b64f836c69d4e10a8cbd6f495ad650b06ae Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 16 Mar 2025 22:33:01 +0100 Subject: [PATCH 3/4] Improve debug message. --- .../src/org/jdrupes/vmoperator/common/K8sObserver.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java b/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java index a0cd16c..f3e10bb 100644 --- a/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java +++ b/org.jdrupes.vmoperator.common/src/org/jdrupes/vmoperator/common/K8sObserver.java @@ -113,6 +113,7 @@ public class K8sObserver "Problem watching" + + " resource " + context.getKind() + " (will retry): " + e.getMessage()); delayRestart(startedAt); } From 780b4894ca59acd4a4a01a333d63b46b58b471e7 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 16 Mar 2025 22:44:44 +0100 Subject: [PATCH 4/4] Allow VM operator to watch pods. --- deploy/vmop-role.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/deploy/vmop-role.yaml b/deploy/vmop-role.yaml index c96fb47..e1ae7bc 100644 --- a/deploy/vmop-role.yaml +++ b/deploy/vmop-role.yaml @@ -38,6 +38,7 @@ rules: - persistentvolumeclaims - pods verbs: + - watch - list - get - create