You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2019/09/16 14:54:15 UTC
[camel] 02/03: CAMEL-13978 - Create ConfigMap Watch feature in
Kubernetes Component, fixed the resourceName usage
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4a9702a89fb394421ec8e967217d64ac7e3b04c3
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Sep 16 16:42:05 2019 +0200
CAMEL-13978 - Create ConfigMap Watch feature in Kubernetes Component, fixed the resourceName usage
---
.../config_maps/KubernetesConfigMapsConsumer.java | 7 +++---
.../kubernetes/KubernetesTestSupport.java | 2 +-
.../consumer/KubernetesConfigMapsConsumerTest.java | 27 ++++++++++++++++++++--
3 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
index c93a708..1b7128d 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
@@ -24,6 +24,7 @@ import io.fabric8.kubernetes.api.model.DoneableConfigMap;
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.fabric8.kubernetes.client.Watch;
import io.fabric8.kubernetes.client.Watcher;
+import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable;
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
import io.fabric8.kubernetes.client.dsl.Resource;
@@ -87,13 +88,13 @@ public class KubernetesConfigMapsConsumer extends DefaultConsumer {
@Override
public void run() {
- NonNamespaceOperation<ConfigMap, ConfigMapList, DoneableConfigMap, Resource<ConfigMap, DoneableConfigMap>> w = getEndpoint().getKubernetesClient().configMaps();
+ FilterWatchListDeletable<ConfigMap, ConfigMapList, Boolean, Watch, Watcher<ConfigMap>> w = null;
if (ObjectHelper.isNotEmpty(getEndpoint().getKubernetesConfiguration().getLabelKey())
&& ObjectHelper.isNotEmpty(getEndpoint().getKubernetesConfiguration().getLabelValue())) {
- w.withLabel(getEndpoint().getKubernetesConfiguration().getLabelKey(), getEndpoint().getKubernetesConfiguration().getLabelValue());
+ w = getEndpoint().getKubernetesClient().configMaps().withLabel(getEndpoint().getKubernetesConfiguration().getLabelKey(), getEndpoint().getKubernetesConfiguration().getLabelValue());
}
if (ObjectHelper.isNotEmpty(getEndpoint().getKubernetesConfiguration().getResourceName())) {
- w.withName(getEndpoint().getKubernetesConfiguration().getResourceName());
+ w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Boolean, Watch, Watcher<ConfigMap>>) getEndpoint().getKubernetesClient().configMaps().withName(getEndpoint().getKubernetesConfiguration().getResourceName());
}
watch = w.watch(new Watcher<ConfigMap>() {
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/KubernetesTestSupport.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/KubernetesTestSupport.java
index 0f17738..8cf45f9 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/KubernetesTestSupport.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/KubernetesTestSupport.java
@@ -31,7 +31,7 @@ public class KubernetesTestSupport extends CamelTestSupport {
@Override
public void setUp() throws Exception {
// INSERT credentials and host here
- authToken = "";
+ authToken = "IVStwJAV_7p26ifo1NX1R3cjNDLkGFUaU0R6VW6dbwo";
host = "https://192.168.99.100:8443";
super.setUp();
}
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/consumer/KubernetesConfigMapsConsumerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/consumer/KubernetesConfigMapsConsumerTest.java
index 5b62438..a9e01c5 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/consumer/KubernetesConfigMapsConsumerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/consumer/KubernetesConfigMapsConsumerTest.java
@@ -61,6 +61,19 @@ public class KubernetesConfigMapsConsumerTest extends KubernetesTestSupport {
exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, configMapData);
}
});
+
+ ex = template.request("direct:createConfigmap", new Processor() {
+
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().removeHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS);
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default");
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, "test1");
+ HashMap<String, String> configMapData = new HashMap<>();
+ configMapData.put("test", "test");
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, configMapData);
+ }
+ });
ex = template.request("direct:deleteConfigmap", new Processor() {
@@ -70,6 +83,16 @@ public class KubernetesConfigMapsConsumerTest extends KubernetesTestSupport {
exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, "test");
}
});
+
+ ex = template.request("direct:deleteConfigmap", new Processor() {
+
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default");
+ exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, "test1");
+ }
+ });
+
boolean cmDeleted = ex.getOut().getBody(Boolean.class);
@@ -87,7 +110,7 @@ public class KubernetesConfigMapsConsumerTest extends KubernetesTestSupport {
public void configure() throws Exception {
from("direct:createConfigmap").toF("kubernetes-config-maps://%s?oauthToken=%s&operation=createConfigMap", host, authToken);
from("direct:deleteConfigmap").toF("kubernetes-config-maps://%s?oauthToken=%s&operation=deleteConfigMap", host, authToken);
- fromF("kubernetes-config-maps://%s?oauthToken=%s&namespace=default&labelKey=this&labelValue=rocks", host, authToken).process(new KubernertesProcessor())
+ fromF("kubernetes-config-maps://%s?oauthToken=%s&namespace=default&resourceName=test", host, authToken).process(new KubernertesProcessor())
.to(mockResultEndpoint);
}
};
@@ -98,7 +121,7 @@ public class KubernetesConfigMapsConsumerTest extends KubernetesTestSupport {
public void process(Exchange exchange) throws Exception {
Message in = exchange.getIn();
ConfigMap cm = exchange.getIn().getBody(ConfigMap.class);
- log.info("Got event with configmap name: " + cm.getMetadata().getName() + " and action " + in.getHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION));
+ System.err.println("Got event with configmap name: " + cm.getMetadata().getName() + " and action " + in.getHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION));
}
}
}