Search in sources :

Example 26 with Processor

use of io.fabric8.watcher.Processor in project camel by apache.

the class KubernetesNamespacesProducerTest method createListByLabelsAndDeleteNamespace.

@Test
public void createListByLabelsAndDeleteNamespace() throws Exception {
    if (ObjectHelper.isEmpty(authToken)) {
        return;
    }
    Exchange ex = template.request("direct:createNamespace", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "test");
            Map<String, String> labels = new HashMap<String, String>();
            labels.put("this", "rocks");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_LABELS, labels);
        }
    });
    Namespace ns = ex.getOut().getBody(Namespace.class);
    assertEquals(ns.getMetadata().getName(), "test");
    ex = template.request("direct:listByLabels", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            Map<String, String> labels = new HashMap<String, String>();
            labels.put("this", "rocks");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_LABELS, labels);
        }
    });
    List<Namespace> result = ex.getOut().getBody(List.class);
    boolean testExists = false;
    Iterator<Namespace> it = result.iterator();
    while (it.hasNext()) {
        Namespace namespace = it.next();
        if ("test".equalsIgnoreCase(namespace.getMetadata().getName())) {
            testExists = true;
        }
    }
    assertTrue(testExists);
    ex = template.request("direct:deleteNamespace", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "test");
        }
    });
    boolean nsDeleted = ex.getOut().getBody(Boolean.class);
    assertTrue(nsDeleted);
}
Also used : Processor(org.apache.camel.Processor) HashMap(java.util.HashMap) Namespace(io.fabric8.kubernetes.api.model.Namespace) Exchange(org.apache.camel.Exchange) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 27 with Processor

use of io.fabric8.watcher.Processor in project camel by apache.

the class KubernetesNodesProducerTest method listByLabelsTest.

@Test
public void listByLabelsTest() throws Exception {
    if (ObjectHelper.isEmpty(authToken)) {
        return;
    }
    Exchange ex = template.request("direct:listByLabels", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            Map<String, String> labels = new HashMap<String, String>();
            labels.put("kubernetes.io/hostname", "172.28.128.4");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NODES_LABELS, labels);
        }
    });
    List<Node> result = ex.getOut().getBody(List.class);
    Node node = result.get(0);
    assertTrue(node.getStatus().getCapacity().get("pods").getAmount().equals("110"));
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) Node(io.fabric8.kubernetes.api.model.Node) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 28 with Processor

use of io.fabric8.watcher.Processor in project camel by apache.

the class KubernetesPersistentVolumesClaimsProducerTest method listByLabelsTest.

@Test
public void listByLabelsTest() throws Exception {
    if (ObjectHelper.isEmpty(authToken)) {
        return;
    }
    Exchange ex = template.request("direct:listByLabels", 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_PERSISTENT_VOLUMES_CLAIMS_LABELS, labels);
        }
    });
    List<PersistentVolume> result = ex.getOut().getBody(List.class);
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) PersistentVolume(io.fabric8.kubernetes.api.model.PersistentVolume) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Example 29 with Processor

use of io.fabric8.watcher.Processor in project camel by apache.

the class KubernetesPersistentVolumesClaimsProducerTest method createListAndDeletePersistentVolumeClaim.

@Test
public void createListAndDeletePersistentVolumeClaim() throws Exception {
    if (ObjectHelper.isEmpty(authToken)) {
        return;
    }
    Exchange ex = template.request("direct:create", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, "test");
            Map<String, String> labels = new HashMap<String, String>();
            labels.put("this", "rocks");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, labels);
            PersistentVolumeClaimSpec pvcSpec = new PersistentVolumeClaimSpec();
            ResourceRequirements rr = new ResourceRequirements();
            Map<String, Quantity> mp = new HashMap<String, Quantity>();
            mp.put("storage", new Quantity("100"));
            rr.setLimits(mp);
            Map<String, Quantity> req = new HashMap<String, Quantity>();
            req.put("storage", new Quantity("100"));
            rr.setRequests(req);
            pvcSpec.setResources(rr);
            pvcSpec.setVolumeName("vol001");
            List<String> access = new ArrayList<String>();
            access.add("ReadWriteOnce");
            pvcSpec.setAccessModes(access);
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC, pvcSpec);
        }
    });
    PersistentVolumeClaim pvc = ex.getOut().getBody(PersistentVolumeClaim.class);
    assertEquals(pvc.getMetadata().getName(), "test");
    ex = template.request("direct:listByLabels", 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("this", "rocks");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, labels);
        }
    });
    List<PersistentVolumeClaim> result = ex.getOut().getBody(List.class);
    boolean pvcExists = false;
    Iterator<PersistentVolumeClaim> it = result.iterator();
    while (it.hasNext()) {
        PersistentVolumeClaim pvcLocal = it.next();
        if ("test".equalsIgnoreCase(pvcLocal.getMetadata().getName())) {
            pvcExists = true;
        }
    }
    assertTrue(pvcExists);
    ex = template.request("direct:delete", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, "test");
        }
    });
    boolean pvcDeleted = ex.getOut().getBody(Boolean.class);
    assertTrue(pvcDeleted);
}
Also used : Processor(org.apache.camel.Processor) HashMap(java.util.HashMap) Quantity(io.fabric8.kubernetes.api.model.Quantity) ResourceRequirements(io.fabric8.kubernetes.api.model.ResourceRequirements) Exchange(org.apache.camel.Exchange) PersistentVolumeClaimSpec(io.fabric8.kubernetes.api.model.PersistentVolumeClaimSpec) ArrayList(java.util.ArrayList) List(java.util.List) PersistentVolumeClaim(io.fabric8.kubernetes.api.model.PersistentVolumeClaim) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Example 30 with Processor

use of io.fabric8.watcher.Processor in project camel by apache.

the class KubernetesPersistentVolumesProducerTest method listByLabelsTest.

@Test
public void listByLabelsTest() throws Exception {
    if (ObjectHelper.isEmpty(authToken)) {
        return;
    }
    Exchange ex = template.request("direct:listByLabels", 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_PERSISTENT_VOLUMES_LABELS, labels);
        }
    });
    List<PersistentVolume> result = ex.getOut().getBody(List.class);
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) PersistentVolume(io.fabric8.kubernetes.api.model.PersistentVolume) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Aggregations

Exchange (org.apache.camel.Exchange)33 Processor (org.apache.camel.Processor)33 Test (org.junit.Test)33 HashMap (java.util.HashMap)27 Map (java.util.Map)27 ArrayList (java.util.ArrayList)7 List (java.util.List)6 ReplicationController (io.fabric8.kubernetes.api.model.ReplicationController)5 Namespace (io.fabric8.kubernetes.api.model.Namespace)4 Service (io.fabric8.kubernetes.api.model.Service)4 ConfigMap (io.fabric8.kubernetes.api.model.ConfigMap)3 Container (io.fabric8.kubernetes.api.model.Container)3 ContainerPort (io.fabric8.kubernetes.api.model.ContainerPort)3 IntOrString (io.fabric8.kubernetes.api.model.IntOrString)3 PodSpec (io.fabric8.kubernetes.api.model.PodSpec)3 PodTemplateSpec (io.fabric8.kubernetes.api.model.PodTemplateSpec)3 PodTemplateSpecBuilder (io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder)3 ReplicationControllerSpec (io.fabric8.kubernetes.api.model.ReplicationControllerSpec)3 Secret (io.fabric8.kubernetes.api.model.Secret)3 ObjectMeta (io.fabric8.kubernetes.api.model.ObjectMeta)2