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 2016/05/05 08:25:58 UTC

[1/5] camel git commit: Camel-Kubernetes: Updated Javadoc

Repository: camel
Updated Branches:
  refs/heads/master 330eff35e -> 05734ea22


Camel-Kubernetes: Updated Javadoc


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7a95351b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7a95351b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7a95351b

Branch: refs/heads/master
Commit: 7a95351b8ae20b4874f9e27f04c6c3ab8d1c66e6
Parents: b272bb9
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu May 5 10:17:30 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu May 5 10:18:01 2016 +0200

----------------------------------------------------------------------
 .../camel/component/kubernetes/KubernetesConfiguration.java     | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7a95351b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
index dc5c32e..bd965ac 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
@@ -30,7 +30,7 @@ public class KubernetesConfiguration {
     @Metadata(required = "true")
     private String masterUrl;
 
-    @UriParam(enums = "namespaces,services,replicationControllers,pods,persistentVolumes,persistentVolumesClaims,secrets,resourcesQuota,serviceAccounts,nodes,builds,buildConfigs")
+    @UriParam(enums = "namespaces,services,replicationControllers,pods,persistentVolumes,persistentVolumesClaims,secrets,resourcesQuota,serviceAccounts,nodes,configMaps,builds,buildConfigs")
     @Metadata(required = "true")
     private String category;
 
@@ -48,7 +48,8 @@ public class KubernetesConfiguration {
             + "listPodsByLabels,getPod,createPod,deletePod,listPersistentVolumes,listPersistentVolumesByLabels,getPersistentVolume,listPersistentVolumesClaims,listPersistentVolumesClaimsByLabels,"
             + "getPersistentVolumeClaim,createPersistentVolumeClaim,deletePersistentVolumeClaim,listSecrets,listSecretsByLabels,getSecret,createSecret,deleteSecret,listResourcesQuota,"
             + "listResourcesQuotaByLabels,getResourceQuota,createResourceQuota,deleteResourceQuota,listServiceAccounts,listServiceAccountsByLabels,getServiceAccount,createServiceAccount,"
-            + "deleteServiceAccount,listNodes,listNodesByLabels,getNode,listBuilds,listBuildsByLabels,getBuild,listBuildConfigs,listBuildConfigsByLabels,getBuildConfig")
+            + "deleteServiceAccount,listNodes,listNodesByLabels,getNode,listConfigMaps,listConfigMapsByLabels,getConfigMap,createConfigMap,deleteConfigMap,listBuilds,listBuildsByLabels," 
+            + "getBuild,listBuildConfigs,listBuildConfigsByLabels,getBuildConfig")
     private String operation;
 
     @UriParam


[3/5] camel git commit: [CAMEL-9946] Camel-Kubernetes: Add support for ConfigMap

Posted by ac...@apache.org.
[CAMEL-9946] Camel-Kubernetes: Add support for ConfigMap


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/913c8fa6
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/913c8fa6
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/913c8fa6

Branch: refs/heads/master
Commit: 913c8fa6e78b11c90b39a15cb6981e6d7dc60c12
Parents: 330eff3
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu May 5 10:09:01 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu May 5 10:18:01 2016 +0200

----------------------------------------------------------------------
 .../kubernetes/KubernetesCategory.java          |   2 +
 .../kubernetes/KubernetesConstants.java         |   3 +
 .../kubernetes/KubernetesEndpoint.java          |   4 +
 .../producer/KubernetesConfigMapsProducer.java  | 167 ++++++++++++++++
 .../producer/KubernetesOperations.java          |   7 +
 .../KubernetesConfigMapsProducerTest.java       | 197 +++++++++++++++++++
 6 files changed, 380 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/913c8fa6/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesCategory.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesCategory.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesCategory.java
index faf4a89..23610ee 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesCategory.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesCategory.java
@@ -38,6 +38,8 @@ public interface KubernetesCategory {
     
     String NODES = "nodes";
     
+    String CONFIGMAPS = "configMaps";
+    
     String BUILDS = "builds";
     
     String BUILD_CONFIGS = "buildConfigs";

http://git-wip-us.apache.org/repos/asf/camel/blob/913c8fa6/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java
index 6613f19..3d78497 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConstants.java
@@ -46,6 +46,9 @@ public interface KubernetesConstants {
     String KUBERNETES_SERVICE_ACCOUNT = "CamelKubernetesServiceAccount";
     String KUBERNETES_NODES_LABELS = "CamelKubernetesNodesLabels";
     String KUBERNETES_NODE_NAME = "CamelKubernetesNodeName";
+    String KUBERNETES_CONFIGMAPS_LABELS = "CamelKubernetesConfigMapsLabels";
+    String KUBERNETES_CONFIGMAP_NAME = "CamelKubernetesConfigMapName";
+    String KUBERNETES_CONFIGMAP_DATA = "CamelKubernetesConfigData";
     String KUBERNETES_BUILDS_LABELS = "CamelKubernetesBuildsLabels";
     String KUBERNETES_BUILD_NAME = "CamelKubernetesBuildName";
     String KUBERNETES_BUILD_CONFIGS_LABELS = "CamelKubernetesBuildConfigsLabels";

http://git-wip-us.apache.org/repos/asf/camel/blob/913c8fa6/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java
index 86dd081..c0312a3 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesEndpoint.java
@@ -32,6 +32,7 @@ import org.apache.camel.component.kubernetes.consumer.KubernetesSecretsConsumer;
 import org.apache.camel.component.kubernetes.consumer.KubernetesServicesConsumer;
 import org.apache.camel.component.kubernetes.producer.KubernetesBuildConfigsProducer;
 import org.apache.camel.component.kubernetes.producer.KubernetesBuildsProducer;
+import org.apache.camel.component.kubernetes.producer.KubernetesConfigMapsProducer;
 import org.apache.camel.component.kubernetes.producer.KubernetesNamespacesProducer;
 import org.apache.camel.component.kubernetes.producer.KubernetesNodesProducer;
 import org.apache.camel.component.kubernetes.producer.KubernetesPersistentVolumesClaimsProducer;
@@ -105,6 +106,9 @@ public class KubernetesEndpoint extends DefaultEndpoint {
 
             case KubernetesCategory.NODES:
                 return new KubernetesNodesProducer(this);
+                
+            case KubernetesCategory.CONFIGMAPS:
+                return new KubernetesConfigMapsProducer(this);
 
             case KubernetesCategory.BUILDS:
                 return new KubernetesBuildsProducer(this);

http://git-wip-us.apache.org/repos/asf/camel/blob/913c8fa6/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducer.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducer.java
new file mode 100644
index 0000000..b0b389c
--- /dev/null
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducer.java
@@ -0,0 +1,167 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.kubernetes.producer;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import io.fabric8.kubernetes.api.model.ConfigMap;
+import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
+import io.fabric8.kubernetes.api.model.ConfigMapList;
+import io.fabric8.kubernetes.api.model.DoneableConfigMap;
+import io.fabric8.kubernetes.api.model.EditableConfigMap;
+import io.fabric8.kubernetes.client.dsl.ClientNonNamespaceOperation;
+import io.fabric8.kubernetes.client.dsl.ClientResource;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesEndpoint;
+import org.apache.camel.impl.DefaultProducer;
+import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class KubernetesConfigMapsProducer extends DefaultProducer {
+
+    private static final Logger LOG = LoggerFactory.getLogger(KubernetesConfigMapsProducer.class);
+
+    public KubernetesConfigMapsProducer(KubernetesEndpoint endpoint) {
+        super(endpoint);
+    }
+
+    @Override
+    public KubernetesEndpoint getEndpoint() {
+        return (KubernetesEndpoint) super.getEndpoint();
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        String operation;
+
+        if (ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation())) {
+            operation = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, String.class);
+        } else {
+            operation = getEndpoint().getKubernetesConfiguration().getOperation();
+        }
+
+        switch (operation) {
+
+        case KubernetesOperations.LIST_CONFIGMAPS:
+            doList(exchange, operation);
+            break;
+
+        case KubernetesOperations.LIST_CONFIGMAPS_BY_LABELS_OPERATION:
+            doListConfigMapsByLabels(exchange, operation);
+            break;
+
+        case KubernetesOperations.GET_CONFIGMAP_OPERATION:
+            doGetConfigMap(exchange, operation);
+            break;
+            
+        case KubernetesOperations.CREATE_CONFIGMAP_OPERATION:
+            doCreateConfigMap(exchange, operation);
+            break;
+            
+        case KubernetesOperations.DELETE_CONFIGMAP_OPERATION:
+            doDeleteConfigMap(exchange, operation);
+            break;
+
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
+
+    protected void doList(Exchange exchange, String operation) throws Exception {
+        ConfigMapList configMapsList = getEndpoint().getKubernetesClient().configMaps().list();
+        exchange.getOut().setBody(configMapsList.getItems());
+    }
+
+    protected void doListConfigMapsByLabels(Exchange exchange, String operation) throws Exception {
+        ConfigMapList configMapsList = null;
+        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
+        ClientNonNamespaceOperation<ConfigMap, ConfigMapList, DoneableConfigMap, ClientResource<ConfigMap, DoneableConfigMap>> configMaps = getEndpoint().getKubernetesClient().configMaps();
+        for (Map.Entry<String, String> entry : labels.entrySet()) {
+            configMaps.withLabel(entry.getKey(), entry.getValue());
+        }
+        configMapsList = configMaps.list();
+        exchange.getOut().setBody(configMapsList.getItems());
+    }
+
+    protected void doGetConfigMap(Exchange exchange, String operation) throws Exception {
+        ConfigMap configMap = null;
+        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
+        if (ObjectHelper.isEmpty(cfMapName)) {
+            LOG.error("Get a specific ConfigMap require specify a ConfigMap name");
+            throw new IllegalArgumentException("Get a specific ConfigMap require specify a ConfigMap name");
+        }
+        configMap = getEndpoint().getKubernetesClient().configMaps().withName(cfMapName).get();
+
+        exchange.getOut().setBody(configMap);
+    }
+    
+    protected void doCreateConfigMap(Exchange exchange, String operation) throws Exception {
+        ConfigMap configMap = null;
+        String cfMapName = exchange.getIn().getHeader(
+                KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
+        String namespaceName = exchange.getIn().getHeader(
+                KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
+        HashMap<String, String> configMapData = exchange.getIn().getHeader(
+                KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, HashMap.class);
+        if (ObjectHelper.isEmpty(cfMapName)) {
+            LOG.error("Create a specific configMap require specify a configMap name");
+            throw new IllegalArgumentException(
+                    "Create a specific configMap require specify a configMap name");
+        }
+        if (ObjectHelper.isEmpty(namespaceName)) {
+            LOG.error("Create a specific configMap require specify a namespace name");
+            throw new IllegalArgumentException(
+                    "Create a specific configMap require specify a namespace name");
+        }
+        if (ObjectHelper.isEmpty(configMapData)) {
+            LOG.error("Create a specific configMap require specify a data map");
+            throw new IllegalArgumentException(
+                    "Create a specific configMap require specify a data map");
+        }
+        Map<String, String> labels = exchange.getIn().getHeader(
+                KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
+        EditableConfigMap cfMapCreating = new ConfigMapBuilder().withNewMetadata().withName(cfMapName)
+                .withLabels(labels).endMetadata().withData(configMapData).build();
+        configMap = getEndpoint().getKubernetesClient().configMaps()
+                .inNamespace(namespaceName).create(cfMapCreating);
+        exchange.getOut().setBody(configMap);
+    }
+    
+    protected void doDeleteConfigMap(Exchange exchange, String operation) throws Exception {
+        String configMapName = exchange.getIn().getHeader(
+                KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
+        String namespaceName = exchange.getIn().getHeader(
+                KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
+        if (ObjectHelper.isEmpty(configMapName)) {
+            LOG.error("Delete a specific config map require specify a config map name");
+            throw new IllegalArgumentException(
+                    "Delete a specific config map require specify a config map name");
+        }
+        if (ObjectHelper.isEmpty(namespaceName)) {
+            LOG.error("Delete a specific config map require specify a namespace name");
+            throw new IllegalArgumentException(
+                    "Delete a specific config map require specify a namespace name");
+        }
+        boolean cfMapDeleted = getEndpoint().getKubernetesClient().configMaps()
+                .inNamespace(namespaceName).withName(configMapName).delete();
+        exchange.getOut().setBody(cfMapDeleted);
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/913c8fa6/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesOperations.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesOperations.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesOperations.java
index c926cbf..e6dec94 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesOperations.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/producer/KubernetesOperations.java
@@ -84,6 +84,13 @@ public interface KubernetesOperations {
     String LIST_NODES_BY_LABELS_OPERATION = "listNodesByLabels";
     String GET_NODE_OPERATION = "getNode";
     
+    // Config Maps
+    String LIST_CONFIGMAPS = "listConfigMaps";
+    String LIST_CONFIGMAPS_BY_LABELS_OPERATION = "listConfigMapsByLabels";
+    String GET_CONFIGMAP_OPERATION = "getConfigMap";
+    String CREATE_CONFIGMAP_OPERATION = "createConfigMap";
+    String DELETE_CONFIGMAP_OPERATION = "deleteConfigMap";
+    
     // Builds
     String LIST_BUILD = "listBuilds";
     String LIST_BUILD_BY_LABELS_OPERATION = "listBuildsByLabels";

http://git-wip-us.apache.org/repos/asf/camel/blob/913c8fa6/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java
new file mode 100644
index 0000000..d4a997c
--- /dev/null
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java
@@ -0,0 +1,197 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.kubernetes.producer;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import io.fabric8.kubernetes.api.model.ConfigMap;
+import io.fabric8.kubernetes.api.model.Container;
+import io.fabric8.kubernetes.api.model.ContainerPort;
+import io.fabric8.kubernetes.api.model.Pod;
+import io.fabric8.kubernetes.api.model.PodSpec;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesTestSupport;
+import org.apache.camel.util.ObjectHelper;
+import org.junit.Test;
+
+public class KubernetesConfigMapsProducerTest extends KubernetesTestSupport {
+
+    @Test
+    public void listTest() throws Exception {
+        if (ObjectHelper.isEmpty(authToken)) {
+            return;
+        }
+        List<ConfigMap> result = template.requestBody("direct:list", "", List.class);
+
+        assertEquals(0, result.size());
+    }
+
+    @Test
+    public void listByLabelsTest() throws Exception {
+        if (ObjectHelper.isEmpty(authToken)) {
+            return;
+        }
+        Exchange ex = template.request("direct:listConfigMapsByLabels", new Processor() {
+
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(
+                        KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
+                        "default");
+                Map<String, String> labels = new HashMap<String, String>();
+                labels.put("component", "elasticsearch");
+                exchange.getIn().setHeader(
+                        KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, labels);
+            }
+        });
+
+        List<ConfigMap> result = ex.getOut().getBody(List.class);
+
+        boolean configMapExists = false;
+        Iterator<ConfigMap> it = result.iterator();
+        while (it.hasNext()) {
+        	ConfigMap cfMap = it.next();
+            if (cfMap.getMetadata().getLabels().containsValue("elasticsearch")) {
+            	configMapExists = true;
+            }
+        }
+
+        assertFalse(configMapExists);
+    }
+
+    @Test
+    public void getConfigMapTest() throws Exception {
+        if (ObjectHelper.isEmpty(authToken)) {
+            return;
+        }
+        Exchange ex = template.request("direct:getConfigMap", 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,
+                        "elasticsearch-7015o");
+            }
+        });
+
+        ConfigMap result = ex.getOut().getBody(ConfigMap.class);
+
+        assertNull(result);
+    }
+
+    @Test
+    public void createGetAndDeleteConfigMap() throws Exception {
+        if (ObjectHelper.isEmpty(authToken)) {
+            return;
+        }
+        Exchange ex = template.request("direct:createConfigMap", 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, "test");
+                Map<String, String> labels = new HashMap<String, String>();
+                labels.put("this", "rocks");
+                exchange.getIn().setHeader(
+                        KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, labels);
+
+                Map<String, String> data = new HashMap<String, String>();
+                
+                data.put("test", "test1");
+                data.put("test1", "test2");
+
+                exchange.getIn().setHeader(
+                        KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, data);
+            }
+        });
+        
+        ex = template.request("direct:getConfigMap", 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,
+                        "test");
+            }
+        });
+
+        ConfigMap result = ex.getOut().getBody(ConfigMap.class);
+        
+        assertNotNull(result);
+        assertTrue(result.getData().containsKey("test"));
+        assertTrue(result.getData().containsKey("test1"));
+        assertEquals("test1",result.getData().get("test"));
+        assertEquals("test2",result.getData().get("test1"));
+
+        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, "test");
+            }
+        });
+
+        boolean configMapDeleted = ex.getOut().getBody(Boolean.class);
+
+        assertTrue(configMapDeleted);
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:list")
+                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=listConfigMaps",
+                                host, authToken);
+                from("direct:listConfigMapsByLabels")
+                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=listConfigMapsByLabels",
+                                host, authToken);
+                from("direct:getConfigMap")
+                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=getConfigMap",
+                                host, authToken);
+                from("direct:createConfigMap")
+                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=createConfigMap",
+                                host, authToken);
+                from("direct:deleteConfigMap")
+                        .toF("kubernetes://%s?oauthToken=%s&category=configMaps&operation=deleteConfigMap",
+                                host, authToken);
+            }
+        };
+    }
+}


[4/5] camel git commit: Camel-Kubernetes: Fixed integration tests

Posted by ac...@apache.org.
Camel-Kubernetes: Fixed integration tests


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/562c63c4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/562c63c4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/562c63c4

Branch: refs/heads/master
Commit: 562c63c4c766336aa4e9edc55b801d6a4123fd67
Parents: 913c8fa
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu May 5 10:11:53 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu May 5 10:18:01 2016 +0200

----------------------------------------------------------------------
 .../component/kubernetes/producer/KubernetesNodesProducerTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/562c63c4/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesNodesProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesNodesProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesNodesProducerTest.java
index 4bfbce5..f895179 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesNodesProducerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesNodesProducerTest.java
@@ -64,7 +64,7 @@ public class KubernetesNodesProducerTest extends KubernetesTestSupport {
         
         Node node = result.get(0);
         
-        assertTrue(node.getStatus().getCapacity().get("pods").getAmount().equals("40"));
+        assertTrue(node.getStatus().getCapacity().get("pods").getAmount().equals("110"));
     }
 
     @Override


[5/5] camel git commit: Camel-Kubernetes: Updated Asciidoc documentation

Posted by ac...@apache.org.
Camel-Kubernetes: Updated Asciidoc documentation


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/05734ea2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/05734ea2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/05734ea2

Branch: refs/heads/master
Commit: 05734ea2222a68237ec14374b68a12a30ef9bf43
Parents: 7a95351
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu May 5 10:24:19 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu May 5 10:24:19 2016 +0200

----------------------------------------------------------------------
 components/camel-kubernetes/src/main/docs/kubernetes.adoc | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/05734ea2/components/camel-kubernetes/src/main/docs/kubernetes.adoc
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes.adoc b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
index 1687443..56a08cd 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
@@ -151,4 +151,10 @@ Headers
 |CamelKubernetesEventAction |io.fabric8.kubernetes.client.Watcher.Action |Action watched by the consumer
 
 |CamelKubernetesEventTimestamp |String |Timestamp of the action watched by the consumer
+
+|CamelKubernetesConfigMapName |String |ConfigMap name
+
+|CamelKubernetesConfigMapsLabels |Map |ConfigMap labels
+
+|CamelKubernetesConfigData |Map |ConfigMap Data
 |=======================================================================


[2/5] camel git commit: Fixed CS

Posted by ac...@apache.org.
Fixed CS


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b272bb9a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b272bb9a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b272bb9a

Branch: refs/heads/master
Commit: b272bb9aff7c44dbc07726443472bd648e587193
Parents: 562c63c
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu May 5 10:14:07 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu May 5 10:18:01 2016 +0200

----------------------------------------------------------------------
 .../producer/KubernetesConfigMapsProducerTest.java           | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/b272bb9a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java
index d4a997c..47c2e63 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesConfigMapsProducerTest.java
@@ -72,9 +72,9 @@ public class KubernetesConfigMapsProducerTest extends KubernetesTestSupport {
         boolean configMapExists = false;
         Iterator<ConfigMap> it = result.iterator();
         while (it.hasNext()) {
-        	ConfigMap cfMap = it.next();
+            ConfigMap cfMap = it.next();
             if (cfMap.getMetadata().getLabels().containsValue("elasticsearch")) {
-            	configMapExists = true;
+                configMapExists = true;
             }
         }
 
@@ -151,8 +151,8 @@ public class KubernetesConfigMapsProducerTest extends KubernetesTestSupport {
         assertNotNull(result);
         assertTrue(result.getData().containsKey("test"));
         assertTrue(result.getData().containsKey("test1"));
-        assertEquals("test1",result.getData().get("test"));
-        assertEquals("test2",result.getData().get("test1"));
+        assertEquals("test1", result.getData().get("test"));
+        assertEquals("test2", result.getData().get("test1"));
 
         ex = template.request("direct:deleteConfigMap", new Processor() {