This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 2f8a0881ed6 CAMEL-21625: camel-jbang - camel k8s run may not cleanup
properly on openshift (#16825)
2f8a0881ed6 is described below
commit 2f8a0881ed6e65cecf9bf7ae2e3968f2751d8bd1
Author: Thomas Diesler <[email protected]>
AuthorDate: Thu Jan 16 12:15:19 2025 +0100
CAMEL-21625: camel-jbang - camel k8s run may not cleanup properly on
openshift (#16825)
---
.../core/commands/kubernetes/KubernetesHelper.java | 32 ++++------------------
.../core/commands/kubernetes/KubernetesRun.java | 23 +++++++++++++++-
2 files changed, 28 insertions(+), 27 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
index c0983a9419a..9ea8b63fe47 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
@@ -34,10 +34,6 @@ import com.fasterxml.jackson.databind.json.JsonMapper;
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
-import io.fabric8.kubernetes.client.vertx.VertxHttpClientFactory;
-import io.vertx.core.Vertx;
-import io.vertx.core.VertxOptions;
-import io.vertx.core.file.FileSystemOptions;
import org.apache.camel.dsl.jbang.core.commands.CommandHelper;
import org.apache.camel.dsl.jbang.core.common.YamlHelper;
import org.apache.camel.util.FileUtil;
@@ -154,21 +150,6 @@ public final class KubernetesHelper {
KubernetesHelper.kubernetesClient = kubernetesClient;
}
- // KubernetesClientVertx can no longer be used in ShutdownHook
- // https://issues.apache.org/jira/browse/CAMEL-21621
- public static KubernetesClient createKubernetesClientForShutdownHook() {
- System.setProperty("vertx.disableDnsResolver", "true");
- var vertx = Vertx.vertx((new VertxOptions())
- .setFileSystemOptions((new FileSystemOptions())
- .setFileCachingEnabled(false)
- .setClassPathResolvingEnabled(false))
- .setUseDaemonThread(true));
- var client = new KubernetesClientBuilder()
- .withHttpClientFactory(new VertxHttpClientFactory(vertx))
- .build();
- return client;
- }
-
/**
* Dump given domain model object as YAML. Uses Json conversion to generic
map as intermediate step. This makes sure
* to properly write Json additional properties.
@@ -220,13 +201,12 @@ public final class KubernetesHelper {
}
public static File getKubernetesManifest(String clusterType, File
workingDir, String extension) {
- ClusterType cs = ClusterType
-
.valueOf(Optional.ofNullable(clusterType).map(String::toUpperCase).orElse(ClusterType.KUBERNETES.name()));
- String manifestFile = switch (cs) {
- case KIND, MINIKUBE -> "kubernetes";
- case OPENSHIFT -> "_openshift";
- default -> cs.name().toLowerCase();
- };
+ String manifestFile;
+ if (ClusterType.KIND.isEqualTo(clusterType) ||
ClusterType.MINIKUBE.isEqualTo(clusterType)) {
+ manifestFile = "kubernetes";
+ } else {
+ manifestFile =
Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
+ }
return new File(workingDir, "%s.%s".formatted(manifestFile,
extension));
}
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
index bb8a1768860..432c390ec48 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
@@ -27,6 +27,12 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
import io.fabric8.kubernetes.api.model.Pod;
+import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.KubernetesClientBuilder;
+import io.fabric8.kubernetes.client.vertx.VertxHttpClientFactory;
+import io.vertx.core.Vertx;
+import io.vertx.core.VertxOptions;
+import io.vertx.core.file.FileSystemOptions;
import org.apache.camel.CamelContext;
import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain;
import org.apache.camel.dsl.jbang.core.commands.CommandHelper;
@@ -506,7 +512,7 @@ public class KubernetesRun extends KubernetesBaseCommand {
deleteCommand.clusterType = clusterType;
deleteCommand.workingDir = workingDir;
deleteCommand.name = projectName;
- try (var client =
KubernetesHelper.createKubernetesClientForShutdownHook()) {
+ try (var client = createKubernetesClientForShutdownHook()) {
KubernetesHelper.setKubernetesClient(client);
deleteCommand.doCall();
CommandHelper.cleanExportDir(deleteCommand.workingDir, false);
@@ -518,6 +524,21 @@ public class KubernetesRun extends KubernetesBaseCommand {
Runtime.getRuntime().addShutdownHook(devModeShutdownTask);
}
+ // KubernetesClientVertx can no longer be used in ShutdownHook
+ // https://issues.apache.org/jira/browse/CAMEL-21621
+ private KubernetesClient createKubernetesClientForShutdownHook() {
+ System.setProperty("vertx.disableDnsResolver", "true");
+ var vertx = Vertx.vertx((new VertxOptions())
+ .setFileSystemOptions((new FileSystemOptions())
+ .setFileCachingEnabled(false)
+ .setClassPathResolvingEnabled(false))
+ .setUseDaemonThread(true));
+ var client = new KubernetesClientBuilder()
+ .withHttpClientFactory(new VertxHttpClientFactory(vertx))
+ .build();
+ return client;
+ }
+
private Integer buildProject(String workingDir) throws IOException,
InterruptedException {
printer().println("Building Camel application ...");