This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.8.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.8.x by this push:
new 3ca94567363 [CAMEL-21362] camel k8s run cannot find pod on openshift
(#15998)
3ca94567363 is described below
commit 3ca9456736374a51aa6cf03f19a7279c9019699c
Author: Thomas Diesler <[email protected]>
AuthorDate: Sat Oct 19 08:38:48 2024 +0200
[CAMEL-21362] camel k8s run cannot find pod on openshift (#15998)
* [CAMEL-21362] camel k8s run cannot find pod on openshift
* Remove label 'camel.apache.org/integration'
---
.../core/commands/k/IntegrationExportTest.java | 29 ++++----
.../core/commands/kubernetes/KubernetesRun.java | 6 +-
.../jbang/core/commands/kubernetes/PodLogs.java | 3 +-
.../core/commands/kubernetes/traits/BaseTrait.java | 2 +-
.../commands/kubernetes/traits/ContainerTrait.java | 4 +-
.../kubernetes/traits/DeploymentTrait.java | 5 +-
.../commands/kubernetes/traits/LabelTrait.java | 4 +-
.../commands/kubernetes/traits/ServiceTrait.java | 4 +-
.../traits/knative/KnativeServiceTrait.java | 4 +-
.../commands/kubernetes/KubernetesCommandTest.java | 11 +--
.../commands/kubernetes/KubernetesDeleteTest.java | 2 +-
.../commands/kubernetes/KubernetesExportTest.java | 85 +++++++++++++---------
.../commands/kubernetes/KubernetesRunTest.java | 31 ++++----
.../core/commands/kubernetes/PodLogsTest.java | 6 +-
14 files changed, 105 insertions(+), 91 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
index 47349563dd8..bea491ac00d 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-k/src/test/java/org/apache/camel/dsl/jbang/core/commands/k/IntegrationExportTest.java
@@ -56,20 +56,19 @@ class IntegrationExportTest extends CamelKBaseTest {
Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(RuntimeType.quarkus);
+ var labels = deployment.getMetadata().getLabels();
+ var matchLabels = deployment.getSpec().getSelector().getMatchLabels();
+ var containers =
deployment.getSpec().getTemplate().getSpec().getContainers();
Assertions.assertEquals("routes", deployment.getMetadata().getName());
- Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().size());
- Assertions.assertEquals("routes",
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("routes",
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getName());
- Assertions.assertEquals(1,
deployment.getSpec().getSelector().getMatchLabels().size());
- Assertions.assertEquals("routes",
-
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("camel-test/routes:1.0-SNAPSHOT",
-
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
- Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getEnv().size());
- Assertions.assertEquals("MY_ENV_VAR",
-
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getEnv().get(0).getName());
- Assertions.assertEquals("foo",
-
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getEnv().get(0).getValue());
+ Assertions.assertEquals(1, containers.size());
+ Assertions.assertEquals("routes",
labels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("routes", containers.get(0).getName());
+ Assertions.assertEquals(1, matchLabels.size());
+ Assertions.assertEquals("routes",
matchLabels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("camel-test/routes:1.0-SNAPSHOT",
containers.get(0).getImage());
+ Assertions.assertEquals(1, containers.get(0).getEnv().size());
+ Assertions.assertEquals("MY_ENV_VAR",
containers.get(0).getEnv().get(0).getName());
+ Assertions.assertEquals("foo",
containers.get(0).getEnv().get(0).getValue());
}
@Test
@@ -83,11 +82,11 @@ class IntegrationExportTest extends CamelKBaseTest {
Deployment deployment = getDeployment(RuntimeType.quarkus);
Assertions.assertEquals("timer-to-log",
deployment.getMetadata().getName());
Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().size());
- Assertions.assertEquals("timer-to-log",
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
+ Assertions.assertEquals("timer-to-log",
deployment.getMetadata().getLabels().get(BaseTrait.KUBERNETES_NAME_LABEL));
Assertions.assertEquals("timer-to-log",
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getName());
Assertions.assertEquals(1,
deployment.getSpec().getSelector().getMatchLabels().size());
Assertions.assertEquals("timer-to-log",
-
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.INTEGRATION_LABEL));
+
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.KUBERNETES_NAME_LABEL));
Assertions.assertEquals("camel-test/timer-to-log:1.0-SNAPSHOT",
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getEnv().size());
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 e8c8eac9a97..19319d2b566 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
@@ -435,7 +435,7 @@ public class KubernetesRun extends KubernetesBaseCommand {
try {
var podLogs = new PodLogs(getMain());
podLogs.withClient(client());
- podLogs.label = "%s=%s".formatted(BaseTrait.INTEGRATION_LABEL,
projectName);
+ podLogs.label = "%s=%s".formatted(BaseTrait.KUBERNETES_NAME_LABEL,
projectName);
if (!ObjectHelper.isEmpty(namespace)) {
podLogs.namespace = namespace;
}
@@ -449,13 +449,13 @@ public class KubernetesRun extends KubernetesBaseCommand {
private void waitForRunningPod(String projectName) {
if (!quiet) {
String kubectlCmd = "kubectl get pod";
- kubectlCmd += " -l %s=%s".formatted(BaseTrait.INTEGRATION_LABEL,
projectName);
+ kubectlCmd += " -l
%s=%s".formatted(BaseTrait.KUBERNETES_NAME_LABEL, projectName);
if (!ObjectHelper.isEmpty(namespace)) {
kubectlCmd += " -n %s".formatted(namespace);
}
printer().println("Run: " + kubectlCmd);
}
- client(Pod.class).withLabel(BaseTrait.INTEGRATION_LABEL, projectName)
+ client(Pod.class).withLabel(BaseTrait.KUBERNETES_NAME_LABEL,
projectName)
.waitUntilCondition(it ->
"Running".equals(it.getStatus().getPhase()), 10, TimeUnit.MINUTES);
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogs.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogs.java
index c2b7bd0f0b9..cd6f65d7bf0 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogs.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogs.java
@@ -79,8 +79,7 @@ public class PodLogs extends KubernetesBaseCommand {
} else {
projectName =
KubernetesHelper.sanitize(FileUtil.onlyName(SourceScheme.onlyName(filePath)));
}
-
- label = "%s=%s".formatted(BaseTrait.INTEGRATION_LABEL,
projectName);
+ label = "%s=%s".formatted(BaseTrait.KUBERNETES_NAME_LABEL,
projectName);
}
String[] parts = label.split("=", 2);
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/BaseTrait.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/BaseTrait.java
index 96511f82d31..3e1aadf09de 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/BaseTrait.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/BaseTrait.java
@@ -19,7 +19,7 @@ package
org.apache.camel.dsl.jbang.core.commands.kubernetes.traits;
public abstract class BaseTrait implements Trait {
- public static final String INTEGRATION_LABEL =
"camel.apache.org/integration";
+ public static final String KUBERNETES_NAME_LABEL =
"app.kubernetes.io/name";
private final String id;
private final int order;
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
index de419ffe5aa..51e15b8dc48 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ContainerTrait.java
@@ -81,7 +81,7 @@ public class ContainerTrait extends BaseTrait {
context.doWithDeployments(d -> d.editOrNewSpec()
.editOrNewTemplate()
.editOrNewMetadata()
- .addToLabels(INTEGRATION_LABEL, context.getName())
+ .addToLabels(KUBERNETES_NAME_LABEL, context.getName())
.endMetadata()
.editOrNewSpec()
.addToContainers(container.build())
@@ -92,7 +92,7 @@ public class ContainerTrait extends BaseTrait {
context.doWithCronJobs(j -> j.editOrNewSpec()
.editOrNewJobTemplate()
.editOrNewMetadata()
- .addToLabels(INTEGRATION_LABEL, context.getName())
+ .addToLabels(KUBERNETES_NAME_LABEL, context.getName())
.endMetadata()
.editOrNewSpec()
.editOrNewTemplate()
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/DeploymentTrait.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/DeploymentTrait.java
index 46241b65a61..9a0784f0eb4 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/DeploymentTrait.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/DeploymentTrait.java
@@ -17,7 +17,7 @@
package org.apache.camel.dsl.jbang.core.commands.kubernetes.traits;
-import java.util.Collections;
+import java.util.Map;
import io.fabric8.kubernetes.api.model.LabelSelectorBuilder;
import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder;
@@ -42,8 +42,7 @@ public class DeploymentTrait extends BaseTrait {
.endMetadata()
.withNewSpec()
.withSelector(new LabelSelectorBuilder()
- .withMatchLabels(
- Collections.singletonMap(INTEGRATION_LABEL,
context.getName()))
+ .withMatchLabels(Map.of(KUBERNETES_NAME_LABEL,
context.getName()))
.build())
.endSpec();
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
index 9930126c688..c301d778aaf 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
@@ -34,12 +34,12 @@ public class LabelTrait extends BaseTrait {
public void apply(Traits traitConfig, TraitContext context) {
context.doWithDeployments(
d -> d.editOrNewMetadata()
- .addToLabels(INTEGRATION_LABEL, context.getName())
+ .addToLabels(KUBERNETES_NAME_LABEL, context.getName())
.addToLabels(context.getLabels())
.endMetadata());
context.doWithServices(
s -> s.editOrNewMetadata()
- .addToLabels(INTEGRATION_LABEL, context.getName())
+ .addToLabels(KUBERNETES_NAME_LABEL, context.getName())
.addToLabels(context.getLabels())
.endMetadata());
}
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
index ff5023492dc..be9a468960a 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/ServiceTrait.java
@@ -17,7 +17,7 @@
package org.apache.camel.dsl.jbang.core.commands.kubernetes.traits;
-import java.util.Collections;
+import java.util.Map;
import java.util.Optional;
import io.fabric8.kubernetes.api.model.IntOrString;
@@ -68,7 +68,7 @@ public class ServiceTrait extends BaseTrait {
.endMetadata()
.withNewSpec()
.withType(serviceType)
-
.withSelector(Collections.singletonMap(BaseTrait.INTEGRATION_LABEL,
context.getName()))
+ .withSelector(Map.of(BaseTrait.KUBERNETES_NAME_LABEL,
context.getName()))
.addToPorts(new ServicePortBuilder()
.withName(Optional.ofNullable(containerTrait.getServicePortName())
.orElse(ContainerTrait.DEFAULT_CONTAINER_PORT_NAME))
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/knative/KnativeServiceTrait.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/knative/KnativeServiceTrait.java
index 3cc585af66a..05226bdcf51 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/knative/KnativeServiceTrait.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/knative/KnativeServiceTrait.java
@@ -97,7 +97,7 @@ public class KnativeServiceTrait extends KnativeBaseTrait {
}
Map<String, String> serviceLabels = new HashMap<>();
- serviceLabels.put(BaseTrait.INTEGRATION_LABEL, context.getName());
+ serviceLabels.put(BaseTrait.KUBERNETES_NAME_LABEL, context.getName());
// Make sure the Eventing webhook will select the source resource, in
order to inject the sink information.
// This is necessary for Knative environments, that are configured
with SINK_BINDING_SELECTION_MODE=inclusion.
@@ -118,7 +118,7 @@ public class KnativeServiceTrait extends KnativeBaseTrait {
.withNewSpec()
.withNewTemplate()
.withNewMetadata()
- .addToLabels(BaseTrait.INTEGRATION_LABEL, context.getName())
+ .addToLabels(BaseTrait.KUBERNETES_NAME_LABEL,
context.getName())
.addToAnnotations(revisionAnnotations)
.endMetadata()
.endTemplate()
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesCommandTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesCommandTest.java
index ce6dc58ca84..3a0abedc85c 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesCommandTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesCommandTest.java
@@ -41,8 +41,8 @@ class KubernetesCommandTest extends KubernetesBaseTest {
@Test
public void shouldPrintKubernetesManifest() {
- CamelJBangMain.run(createMain(), "kubernetes", "run",
"classpath:route.yaml", "--image-group", "camel-test", "--output",
- "yaml");
+ CamelJBangMain.run(createMain(), "kubernetes", "run",
"classpath:route.yaml",
+ "--image-group", "camel-test", "--output", "yaml");
List<HasMetadata> resources =
kubernetesClient.load(getKubernetesManifestAsStream(printer.getOutput())).items();
Assertions.assertEquals(2, resources.size());
@@ -53,12 +53,13 @@ class KubernetesCommandTest extends KubernetesBaseTest {
.findFirst()
.orElseThrow(() -> new RuntimeCamelException("Missing
deployment in Kubernetes manifest"));
+ var matchLabels = deployment.getSpec().getSelector().getMatchLabels();
Assertions.assertEquals("route", deployment.getMetadata().getName());
Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().size());
- Assertions.assertEquals("route",
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
+ Assertions.assertEquals("route",
deployment.getMetadata().getLabels().get(BaseTrait.KUBERNETES_NAME_LABEL));
Assertions.assertEquals("route",
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getName());
- Assertions.assertEquals(3,
deployment.getSpec().getSelector().getMatchLabels().size());
- Assertions.assertEquals("route",
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.INTEGRATION_LABEL));
+ Assertions.assertEquals(2, matchLabels.size());
+ Assertions.assertEquals("route",
matchLabels.get(BaseTrait.KUBERNETES_NAME_LABEL));
Assertions.assertEquals("docker.io/camel-test/route:1.0-SNAPSHOT",
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
Assertions.assertEquals("Always",
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesDeleteTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesDeleteTest.java
index 4a0be5c2cc9..47c22821092 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesDeleteTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesDeleteTest.java
@@ -34,7 +34,7 @@ class KubernetesDeleteTest extends KubernetesBaseTest {
kubernetesClient.apps().deployments().resource(new DeploymentBuilder()
.withNewMetadata()
.withName("route")
- .addToLabels(BaseTrait.INTEGRATION_LABEL, "route")
+ .addToLabels(BaseTrait.KUBERNETES_NAME_LABEL, "route")
.endMetadata()
.withNewSpec()
.withNewTemplate()
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
index b75191e9393..bac37d91972 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
@@ -88,8 +88,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" },
"--gav=examples:route:1.0.0", "--runtime=" + rt.runtime());
int exit = command.doCall();
-
Assertions.assertEquals(0, exit);
+
Model model = readMavenModel();
Assertions.assertEquals("examples", model.getGroupId());
Assertions.assertEquals("route", model.getArtifactId());
@@ -102,18 +102,18 @@ class KubernetesExportTest extends KubernetesBaseTest {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" },
"--image-registry=quay.io", "--image-group=camel-test",
"--runtime=" + rt.runtime());
int exit = command.doCall();
-
Assertions.assertEquals(0, exit);
+
Deployment deployment = getDeployment(rt);
+ var containers =
deployment.getSpec().getTemplate().getSpec().getContainers();
+ var labels = deployment.getMetadata().getLabels();
+ var matchLabels = deployment.getSpec().getSelector().getMatchLabels();
Assertions.assertEquals("route", deployment.getMetadata().getName());
- Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().size());
- Assertions.assertEquals("route",
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("route",
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getName());
- Assertions.assertEquals(1,
deployment.getSpec().getSelector().getMatchLabels().size());
- Assertions.assertEquals("route",
-
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT",
-
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
+ Assertions.assertEquals(1, containers.size());
+ Assertions.assertEquals("route",
labels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("route", containers.get(0).getName());
+ Assertions.assertEquals("route",
matchLabels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT",
containers.get(0).getImage());
Assertions.assertTrue(hasService(rt));
Assertions.assertFalse(hasKnativeService(rt));
@@ -127,18 +127,18 @@ class KubernetesExportTest extends KubernetesBaseTest {
command.traits = new String[] {
"camel.properties=[foo=bar, bar=baz]" };
int exit = command.doCall();
-
Assertions.assertEquals(0, exit);
+
Deployment deployment = getDeployment(rt);
+ var labels = deployment.getMetadata().getLabels();
+ var matchLabels = deployment.getSpec().getSelector().getMatchLabels();
+ var containers =
deployment.getSpec().getTemplate().getSpec().getContainers();
Assertions.assertEquals("route", deployment.getMetadata().getName());
- Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().size());
- Assertions.assertEquals("route",
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("route",
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getName());
- Assertions.assertEquals(1,
deployment.getSpec().getSelector().getMatchLabels().size());
- Assertions.assertEquals("route",
-
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("camel-test/route:1.0-SNAPSHOT",
-
deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage());
+ Assertions.assertEquals(1, containers.size());
+ Assertions.assertEquals("route",
labels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("route", containers.get(0).getName());
+ Assertions.assertEquals("route",
matchLabels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("camel-test/route:1.0-SNAPSHOT",
containers.get(0).getImage());
Assertions.assertTrue(hasService(rt));
Assertions.assertFalse(hasKnativeService(rt));
@@ -155,7 +155,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" },
"--trait", "service.type=NodePort",
"--runtime=" + rt.runtime());
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Assertions.assertTrue(hasService(rt));
Assertions.assertFalse(hasKnativeService(rt));
@@ -185,7 +186,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
KubernetesExport command = createCommand(new String[] {
"classpath:route-service.yaml" },
"--trait", "service.type=NodePort",
"--runtime=" + rt.runtime());
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Assertions.assertTrue(hasService(rt));
Assertions.assertFalse(hasKnativeService(rt));
@@ -221,7 +223,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
"--trait",
"ingress.annotations=nginx.ingress.kubernetes.io/rewrite-target=/$2",
"--trait",
"ingress.annotations=nginx.ingress.kubernetes.io/use-regex=true",
"--runtime=" + rt.runtime());
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Assertions.assertTrue(hasService(rt));
Assertions.assertFalse(hasKnativeService(rt));
@@ -265,7 +268,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
"--trait", "route.tls-certificate=" + certificate,
"--trait", "route.tls-key=" + key,
"--runtime=" + rt.runtime());
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Assertions.assertTrue(hasService(rt));
Assertions.assertFalse(hasKnativeService(rt));
@@ -304,7 +308,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
"container.request-memory=100Mi",
"container.limit-cpu=0.5",
"container.limit-memory=512Mi" };
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Assertions.assertTrue(hasService(rt));
@@ -366,14 +371,14 @@ class KubernetesExportTest extends KubernetesBaseTest {
Assertions.assertEquals("route-service",
service.getMetadata().getName());
Assertions.assertEquals(3, service.getMetadata().getLabels().size());
- Assertions.assertEquals("route-service",
service.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
+ Assertions.assertEquals("route-service",
service.getMetadata().getLabels().get(BaseTrait.KUBERNETES_NAME_LABEL));
Assertions.assertEquals("true",
service.getMetadata().getLabels().get("bindings.knative.dev/include"));
Assertions.assertEquals("cluster-local",
service.getMetadata().getLabels().get("networking.knative.dev/visibility"));
Assertions.assertEquals(1,
service.getMetadata().getAnnotations().size());
Assertions.assertEquals("60",
service.getMetadata().getAnnotations().get("serving.knative.dev/rolloutDuration"));
Assertions.assertEquals(1,
service.getSpec().getTemplate().getMetadata().getLabels().size());
Assertions.assertEquals("route-service",
-
service.getSpec().getTemplate().getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
+
service.getSpec().getTemplate().getMetadata().getLabels().get(BaseTrait.KUBERNETES_NAME_LABEL));
Assertions.assertEquals(5,
service.getSpec().getTemplate().getMetadata().getAnnotations().size());
Assertions.assertEquals("cpu",
service.getSpec().getTemplate().getMetadata().getAnnotations().get("autoscaling.knative.dev/metric"));
@@ -592,7 +597,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
public void shouldAddVolumes(RuntimeType rt) throws Exception {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" }, "--runtime=" + rt.runtime());
command.volumes = new String[] { "pvc-foo:/container/path/foo",
"pvc-bar:/container/path/bar" };
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
Assertions.assertEquals("route", deployment.getMetadata().getName());
@@ -621,7 +627,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
public void shouldAddEnvVars(RuntimeType rt) throws Exception {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" }, "--runtime=" + rt.runtime());
command.envVars = new String[] { "CAMEL_FOO=bar", "MY_ENV=foo" };
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
Assertions.assertEquals("route", deployment.getMetadata().getName());
@@ -642,7 +649,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
public void shouldAddAnnotations(RuntimeType rt) throws Exception {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" }, "--runtime=" + rt.runtime());
command.annotations = new String[] { "foo=bar" };
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
Assertions.assertEquals("route", deployment.getMetadata().getName());
@@ -655,14 +663,15 @@ class KubernetesExportTest extends KubernetesBaseTest {
public void shouldAddLabels(RuntimeType rt) throws Exception {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" },
"--label=foo=bar", "--runtime=" + rt.runtime());
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
- Map<String, String> labels = deployment.getMetadata().getLabels();
+ var labels = deployment.getMetadata().getLabels();
Assertions.assertEquals("route", deployment.getMetadata().getName());
Assertions.assertEquals(3, labels.size());
Assertions.assertEquals("camel",
labels.get("app.kubernetes.io/runtime"));
- Assertions.assertEquals("route",
labels.get("camel.apache.org/integration"));
+ Assertions.assertEquals("route",
labels.get(BaseTrait.KUBERNETES_NAME_LABEL));
Assertions.assertEquals("bar", labels.get("foo"));
}
@@ -671,7 +680,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
public void shouldAddConfigs(RuntimeType rt) throws Exception {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" }, "--runtime=" + rt.runtime());
command.configs = new String[] { "secret:foo", "configmap:bar" };
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
Assertions.assertEquals("route", deployment.getMetadata().getName());
@@ -697,7 +707,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
public void shouldAddResources(RuntimeType rt) throws Exception {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" }, "--runtime=" + rt.runtime());
command.resources = new String[] { "configmap:foo/file.txt" };
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
Assertions.assertEquals("route", deployment.getMetadata().getName());
@@ -718,7 +729,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" },
"--runtime=" + rt.runtime(),
"--open-api=configmap:openapi/spec.yaml");
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
Assertions.assertEquals("route", deployment.getMetadata().getName());
@@ -738,7 +750,8 @@ class KubernetesExportTest extends KubernetesBaseTest {
public void shouldUseImage(RuntimeType rt) throws Exception {
KubernetesExport command = createCommand(new String[] {
"classpath:route.yaml" }, "--runtime=" + rt.runtime());
command.image = "quay.io/camel/demo-app:1.0";
- command.doCall();
+ var exit = command.doCall();
+ Assertions.assertEquals(0, exit);
Deployment deployment = getDeployment(rt);
Assertions.assertEquals("demo-app",
deployment.getMetadata().getName());
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
index 51a860cee2a..04530d9b659 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
@@ -23,7 +23,6 @@ import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
-import io.fabric8.kubernetes.api.model.Container;
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import org.apache.camel.RuntimeCamelException;
@@ -91,14 +90,16 @@ class KubernetesRunTest extends KubernetesBaseTest {
.findFirst()
.orElseThrow(() -> new RuntimeCamelException("Missing
deployment in Kubernetes manifest"));
+ var containers =
deployment.getSpec().getTemplate().getSpec().getContainers();
+ var labels = deployment.getMetadata().getLabels();
+ var matchLabels = deployment.getSpec().getSelector().getMatchLabels();
Assertions.assertEquals("route", deployment.getMetadata().getName());
- Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().size());
- Container container =
deployment.getSpec().getTemplate().getSpec().getContainers().get(0);
- Assertions.assertEquals("route", container.getName());
- Assertions.assertEquals("route",
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("route",
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT",
container.getImage());
- Assertions.assertEquals("IfNotPresent",
container.getImagePullPolicy());
+ Assertions.assertEquals(1, containers.size());
+ Assertions.assertEquals("route", containers.get(0).getName());
+ Assertions.assertEquals("route",
labels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("route",
matchLabels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT",
containers.get(0).getImage());
+ Assertions.assertEquals("IfNotPresent",
containers.get(0).getImagePullPolicy());
}
@ParameterizedTest
@@ -132,14 +133,16 @@ class KubernetesRunTest extends KubernetesBaseTest {
.findFirst()
.orElseThrow(() -> new RuntimeCamelException("Missing
deployment in Kubernetes manifest"));
+ var labels = deployment.getMetadata().getLabels();
+ var matchLabels = deployment.getSpec().getSelector().getMatchLabels();
+ var containers =
deployment.getSpec().getTemplate().getSpec().getContainers();
Assertions.assertEquals("route", deployment.getMetadata().getName());
Assertions.assertEquals("custom",
deployment.getMetadata().getNamespace());
- Assertions.assertEquals(1,
deployment.getSpec().getTemplate().getSpec().getContainers().size());
- Container container =
deployment.getSpec().getTemplate().getSpec().getContainers().get(0);
- Assertions.assertEquals("route", container.getName());
- Assertions.assertEquals("route",
deployment.getMetadata().getLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("route",
deployment.getSpec().getSelector().getMatchLabels().get(BaseTrait.INTEGRATION_LABEL));
- Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT",
container.getImage());
+ Assertions.assertEquals(1, containers.size());
+ Assertions.assertEquals("route", containers.get(0).getName());
+ Assertions.assertEquals("route",
labels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("route",
matchLabels.get(BaseTrait.KUBERNETES_NAME_LABEL));
+ Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT",
containers.get(0).getImage());
}
private KubernetesRun createCommand(String[] files, String... args) {
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogsTest.java
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogsTest.java
index b6eeb3c97d9..d031c7d2430 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogsTest.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/PodLogsTest.java
@@ -17,7 +17,7 @@
package org.apache.camel.dsl.jbang.core.commands.kubernetes;
-import java.util.Collections;
+import java.util.Map;
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.PodBuilder;
@@ -36,7 +36,7 @@ class PodLogsTest extends KubernetesBaseTest {
command.doCall();
Assertions.assertTrue(
- printer.getOutput().contains("Pod for label
camel.apache.org/integration=mickey-mouse not available"));
+ printer.getOutput().contains("Pod for label
app.kubernetes.io/name=mickey-mouse not available"));
}
@Test
@@ -44,7 +44,7 @@ class PodLogsTest extends KubernetesBaseTest {
Pod pod = new PodBuilder()
.withNewMetadata()
.withName("pod")
-
.withLabels(Collections.singletonMap(BaseTrait.INTEGRATION_LABEL, "routes"))
+ .withLabels(Map.of(BaseTrait.KUBERNETES_NAME_LABEL, "routes"))
.endMetadata()
.withNewStatus()
.withPhase("Running")