Search in sources :

Example 31 with Processor

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

the class KubernetesPodsProducerTest method createAndDeletePod.

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

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_POD_NAME, "test");
            Map<String, String> labels = new HashMap<String, String>();
            labels.put("this", "rocks");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, labels);
            PodSpec podSpec = new PodSpec();
            podSpec.setHostname("localhost");
            Container cont = new Container();
            cont.setImage("docker.io/jboss/wildfly:latest");
            cont.setName("pippo");
            List<ContainerPort> containerPort = new ArrayList<ContainerPort>();
            ContainerPort port = new ContainerPort();
            port.setHostIP("0.0.0.0");
            port.setHostPort(8080);
            port.setContainerPort(8080);
            containerPort.add(port);
            cont.setPorts(containerPort);
            List<Container> list = new ArrayList<Container>();
            list.add(cont);
            podSpec.setContainers(list);
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_POD_SPEC, podSpec);
        }
    });
    ex = template.request("direct:deletePod", new Processor() {

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

Example 32 with Processor

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

the class KubernetesPodsProducerTest 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_PODS_LABELS, labels);
        }
    });
    List<Pod> result = ex.getOut().getBody(List.class);
    boolean podExists = false;
    Iterator<Pod> it = result.iterator();
    while (it.hasNext()) {
        Pod pod = it.next();
        if (pod.getMetadata().getLabels().containsValue("elasticsearch")) {
            podExists = true;
        }
    }
    assertFalse(podExists);
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) Pod(io.fabric8.kubernetes.api.model.Pod) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Example 33 with Processor

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

the class KubernetesResourcesQuotaProducerTest method createAndDeleteResourceQuota.

@Test
public void createAndDeleteResourceQuota() 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_RESOURCES_QUOTA_NAME, "test");
            Map<String, String> labels = new HashMap<String, String>();
            labels.put("this", "rocks");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, labels);
            ResourceQuotaSpec rsSpec = new ResourceQuotaSpec();
            Map<String, Quantity> mp = new HashMap<String, Quantity>();
            mp.put("pods", new Quantity("100"));
            rsSpec.setHard(mp);
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC, rsSpec);
        }
    });
    ResourceQuota rs = ex.getOut().getBody(ResourceQuota.class);
    assertEquals(rs.getMetadata().getName(), "test");
    ex = template.request("direct:get", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME, "test");
        }
    });
    ResourceQuota rsGet = ex.getOut().getBody(ResourceQuota.class);
    assertEquals(rsGet.getMetadata().getName(), "test");
    assertEquals(rsGet.getSpec().getHard().get("pods"), new Quantity("100"));
    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_RESOURCES_QUOTA_NAME, "test");
        }
    });
    boolean rqDeleted = ex.getOut().getBody(Boolean.class);
    assertTrue(rqDeleted);
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) ResourceQuota(io.fabric8.kubernetes.api.model.ResourceQuota) ResourceQuotaSpec(io.fabric8.kubernetes.api.model.ResourceQuotaSpec) Quantity(io.fabric8.kubernetes.api.model.Quantity) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Example 34 with Processor

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

the class KubernetesSecretsProducerTest method getSecretTest.

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

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "default");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_SECRET_NAME, "builder-token-191oc");
        }
    });
    Secret result = ex.getOut().getBody(Secret.class);
}
Also used : Exchange(org.apache.camel.Exchange) Secret(io.fabric8.kubernetes.api.model.Secret) Processor(org.apache.camel.Processor) Test(org.junit.Test)

Example 35 with Processor

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

the class KubernetesSecretsProducerTest method createAndDeleteSecret.

@Test
public void createAndDeleteSecret() 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_SECRET_NAME, "test");
            Map<String, String> labels = new HashMap<String, String>();
            labels.put("this", "rocks");
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_SECRETS_LABELS, labels);
            Secret s = new Secret();
            s.setKind("Secret");
            Map<String, String> mp = new HashMap<String, String>();
            mp.put("username", Base64.encodeBase64String("pippo".getBytes()));
            mp.put("password", Base64.encodeBase64String("password".getBytes()));
            s.setData(mp);
            ObjectMeta meta = new ObjectMeta();
            meta.setName("test");
            s.setMetadata(meta);
            exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_SECRET, s);
        }
    });
    Secret sec = ex.getOut().getBody(Secret.class);
    assertEquals(sec.getMetadata().getName(), "test");
    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_SECRET_NAME, "test");
        }
    });
    boolean secDeleted = ex.getOut().getBody(Boolean.class);
    assertTrue(secDeleted);
}
Also used : Exchange(org.apache.camel.Exchange) Secret(io.fabric8.kubernetes.api.model.Secret) ObjectMeta(io.fabric8.kubernetes.api.model.ObjectMeta) Processor(org.apache.camel.Processor) HashMap(java.util.HashMap) Map(java.util.Map) 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