Search in sources :

Example 1 with Fiber

use of oracle.kubernetes.operator.work.Fiber in project weblogic-kubernetes-operator by oracle.

the class IngressHelperTest method testAddThenRemoveServer.

@Test
public void testAddThenRemoveServer() throws Throwable {
    Packet p = new Packet();
    p.getComponents().put(ProcessingConstants.DOMAIN_COMPONENT_NAME, Component.createFor(info));
    p.put(ProcessingConstants.SERVER_SCAN, info.getScan().getServerConfig(server1Name));
    p.put(ProcessingConstants.CLUSTER_SCAN, info.getScan().getClusterConfig(clusterName));
    p.put(ProcessingConstants.SERVER_NAME, server1Name);
    Fiber f = engine.createFiber();
    Step s = IngressHelper.createClusterStep(null);
    AtomicReference<Throwable> t = new AtomicReference<>();
    f.start(s, p, new CompletionCallback() {

        @Override
        public void onCompletion(Packet packet) {
        // no-op
        }

        @Override
        public void onThrowable(Packet packet, Throwable throwable) {
            t.set(throwable);
        }
    });
    f.get(30, TimeUnit.SECONDS);
    if (t.get() != null) {
        throw t.get();
    }
    // Now check
    CallBuilderFactory factory = new CallBuilderFactory(null);
    V1beta1Ingress v1beta1Ingress = factory.create().readIngress(ingressName, namespace);
    List<V1beta1HTTPIngressPath> v1beta1HTTPIngressPaths = getPathArray(v1beta1Ingress);
    Assert.assertEquals("IngressPaths should have one instance of IngressPath", 1, v1beta1HTTPIngressPaths.size());
    V1beta1HTTPIngressPath v1beta1HTTPIngressPath = v1beta1HTTPIngressPaths.get(0);
    Assert.assertEquals("/", v1beta1HTTPIngressPath.getPath());
    V1beta1IngressBackend v1beta1IngressBackend = v1beta1HTTPIngressPath.getBackend();
    Assert.assertNotNull("IngressBackend Object should not be null", v1beta1IngressBackend);
    Assert.assertEquals("Service name should be " + clusterServiceName, clusterServiceName, v1beta1IngressBackend.getServiceName());
    Assert.assertEquals("Service port should be " + server1Port, server1Port, v1beta1IngressBackend.getServicePort().getIntValue());
}
Also used : Packet(oracle.kubernetes.operator.work.Packet) Fiber(oracle.kubernetes.operator.work.Fiber) V1beta1IngressBackend(io.kubernetes.client.models.V1beta1IngressBackend) AtomicReference(java.util.concurrent.atomic.AtomicReference) Step(oracle.kubernetes.operator.work.Step) V1beta1HTTPIngressPath(io.kubernetes.client.models.V1beta1HTTPIngressPath) V1beta1Ingress(io.kubernetes.client.models.V1beta1Ingress) CompletionCallback(oracle.kubernetes.operator.work.Fiber.CompletionCallback) Test(org.junit.Test)

Example 2 with Fiber

use of oracle.kubernetes.operator.work.Fiber in project weblogic-kubernetes-operator by oracle.

the class ServiceHelperTest method createReadListUpdate.

@Test
public void createReadListUpdate() throws Exception {
    CallBuilderFactory factory = new CallBuilderFactory(null);
    // Domain
    Domain dom = new Domain();
    V1ObjectMeta metadata = new V1ObjectMeta();
    metadata.setResourceVersion("12345");
    metadata.setNamespace("tests");
    dom.setMetadata(metadata);
    DomainSpec spec = new DomainSpec();
    spec.setDomainUID("domain-uid");
    spec.setDomainName("base_domain");
    dom.setSpec(spec);
    // Create a new service.
    System.out.println("Creating service");
    Step s = ServiceHelper.createForServerStep(null);
    Engine e = new Engine("ServiceHelperTest");
    Packet p = new Packet();
    DomainPresenceInfo info = new DomainPresenceInfo(dom);
    p.getComponents().put(ProcessingConstants.DOMAIN_COMPONENT_NAME, Component.createFor(info));
    p.put(ProcessingConstants.SERVER_NAME, "admin");
    p.put(ProcessingConstants.PORT, Integer.valueOf(7001));
    Fiber f = e.createFiber();
    f.start(s, p, null);
    f.get();
    // Read the service we just created.
    System.out.println("Reading service");
    V1Service service = factory.create().readService("domain-uid-admin", "tests");
    checkService(service, false);
    // Get a list of services.
    System.out.println("Listing services");
    V1ServiceList serviceList = factory.create().listService("tests");
    boolean serviceFound = false;
    for (V1Service item : serviceList.getItems()) {
        if (item.getMetadata().getName().equals("domain-uid-admin")) {
            serviceFound = true;
            break;
        }
    }
    Assert.assertTrue("Expected service domain-uid-admin not found in list", serviceFound);
    // Add a second selector to this service.
    Map<String, String> selector = service.getSpec().getSelector();
    selector.put("domain", "domain-uid");
    service.getSpec().setSelector(selector);
// TODO: uncomment out when bug calling replace service is fixed.
// System.out.println("Replacing service");
// service = serviceHelper.replace("domain-uid-admin", service);
// checkService(service, true);
}
Also used : Packet(oracle.kubernetes.operator.work.Packet) V1ServiceList(io.kubernetes.client.models.V1ServiceList) V1ObjectMeta(io.kubernetes.client.models.V1ObjectMeta) Fiber(oracle.kubernetes.operator.work.Fiber) V1Service(io.kubernetes.client.models.V1Service) CallBuilderFactory(oracle.kubernetes.operator.helpers.CallBuilderFactory) Step(oracle.kubernetes.operator.work.Step) DomainPresenceInfo(oracle.kubernetes.operator.helpers.DomainPresenceInfo) DomainSpec(oracle.kubernetes.weblogic.domain.v1.DomainSpec) Domain(oracle.kubernetes.weblogic.domain.v1.Domain) Engine(oracle.kubernetes.operator.work.Engine) Test(org.junit.Test)

Aggregations

Fiber (oracle.kubernetes.operator.work.Fiber)2 Packet (oracle.kubernetes.operator.work.Packet)2 Step (oracle.kubernetes.operator.work.Step)2 Test (org.junit.Test)2 V1ObjectMeta (io.kubernetes.client.models.V1ObjectMeta)1 V1Service (io.kubernetes.client.models.V1Service)1 V1ServiceList (io.kubernetes.client.models.V1ServiceList)1 V1beta1HTTPIngressPath (io.kubernetes.client.models.V1beta1HTTPIngressPath)1 V1beta1Ingress (io.kubernetes.client.models.V1beta1Ingress)1 V1beta1IngressBackend (io.kubernetes.client.models.V1beta1IngressBackend)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 CallBuilderFactory (oracle.kubernetes.operator.helpers.CallBuilderFactory)1 DomainPresenceInfo (oracle.kubernetes.operator.helpers.DomainPresenceInfo)1 Engine (oracle.kubernetes.operator.work.Engine)1 CompletionCallback (oracle.kubernetes.operator.work.Fiber.CompletionCallback)1 Domain (oracle.kubernetes.weblogic.domain.v1.Domain)1 DomainSpec (oracle.kubernetes.weblogic.domain.v1.DomainSpec)1