Search in sources :

Example 21 with Domain

use of org.openstack4j.model.identity.v3.Domain in project camel by apache.

the class DomainProducer method doGet.

private void doGet(Exchange exchange) {
    final Message msg = exchange.getIn();
    final String id = msg.getHeader(OpenstackConstants.ID, msg.getHeader(KeystoneConstants.DOMAIN_ID, String.class), String.class);
    ObjectHelper.notEmpty(id, "Domain ID");
    final Domain out = osV3Client.identity().domains().get(id);
    exchange.getIn().setBody(out);
}
Also used : Message(org.apache.camel.Message) Domain(org.openstack4j.model.identity.v3.Domain)

Example 22 with Domain

use of org.openstack4j.model.identity.v3.Domain in project camel by apache.

the class DomainProducerTest method updateTest.

@Test
public void updateTest() throws Exception {
    final String id = "myID";
    msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.UPDATE);
    final String newName = "newName";
    when(testOSdomain.getId()).thenReturn(id);
    when(testOSdomain.getName()).thenReturn(newName);
    when(testOSdomain.getDescription()).thenReturn("desc");
    when(domainService.update(any(Domain.class))).thenReturn(testOSdomain);
    msg.setBody(testOSdomain);
    producer.process(exchange);
    ArgumentCaptor<Domain> captor = ArgumentCaptor.forClass(Domain.class);
    verify(domainService).update(captor.capture());
    assertEqualsDomain(testOSdomain, captor.getValue());
    assertNotNull(captor.getValue().getId());
    assertEquals(newName, msg.getBody(Domain.class).getName());
}
Also used : Matchers.anyString(org.mockito.Matchers.anyString) Domain(org.openstack4j.model.identity.v3.Domain) Test(org.junit.Test)

Example 23 with Domain

use of org.openstack4j.model.identity.v3.Domain in project weblogic-kubernetes-operator by oracle.

the class DomainStatusUpdater method doDomainUpdate.

private static NextAction doDomainUpdate(Domain dom, DomainPresenceInfo info, Packet packet, Step conflictStep, Step next) {
    V1ObjectMeta meta = dom.getMetadata();
    NextAction na = new NextAction();
    CallBuilderFactory factory = ContainerResolver.getInstance().getContainer().getSPI(CallBuilderFactory.class);
    na.invoke(factory.create().replaceDomainAsync(meta.getName(), meta.getNamespace(), dom, new ResponseStep<Domain>(next) {

        @Override
        public NextAction onFailure(Packet packet, ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
            if (statusCode == CallBuilder.NOT_FOUND) {
                // Just ignore update
                return doNext(packet);
            }
            return super.onFailure(conflictStep, packet, e, statusCode, responseHeaders);
        }

        @Override
        public NextAction onSuccess(Packet packet, Domain result, int statusCode, Map<String, List<String>> responseHeaders) {
            info.setDomain(result);
            return doNext(packet);
        }
    }), packet);
    return na;
}
Also used : Packet(oracle.kubernetes.operator.work.Packet) V1ObjectMeta(io.kubernetes.client.models.V1ObjectMeta) CallBuilderFactory(oracle.kubernetes.operator.helpers.CallBuilderFactory) Domain(oracle.kubernetes.weblogic.domain.v1.Domain) NextAction(oracle.kubernetes.operator.work.NextAction) ConcurrentMap(java.util.concurrent.ConcurrentMap) Map(java.util.Map) TreeMap(java.util.TreeMap) ResponseStep(oracle.kubernetes.operator.helpers.ResponseStep) ApiException(io.kubernetes.client.ApiException)

Example 24 with Domain

use of org.openstack4j.model.identity.v3.Domain in project weblogic-kubernetes-operator by oracle.

the class Main method dispatchDomainWatch.

/**
 * Dispatch the Domain event to the appropriate handler.
 *
 * @param item  An item received from a Watch response.
 * @param principal The name of the principal that will be used in this watch.
 */
private static void dispatchDomainWatch(Watch.Response<Domain> item) {
    Domain d;
    String domainUID;
    switch(item.type) {
        case "ADDED":
        case "MODIFIED":
            d = item.object;
            domainUID = d.getSpec().getDomainUID();
            LOGGER.info(MessageKeys.WATCH_DOMAIN, domainUID);
            doCheckAndCreateDomainPresence(d);
            break;
        case "DELETED":
            d = item.object;
            domainUID = d.getSpec().getDomainUID();
            LOGGER.info(MessageKeys.WATCH_DOMAIN_DELETED, domainUID);
            deleteDomainPresence(d);
            break;
        case "ERROR":
        default:
    }
}
Also used : Domain(oracle.kubernetes.weblogic.domain.v1.Domain)

Example 25 with Domain

use of org.openstack4j.model.identity.v3.Domain in project weblogic-kubernetes-operator by oracle.

the class Main method scaleDownIfNecessary.

private static Step scaleDownIfNecessary(DomainPresenceInfo info, Collection<String> servers, Step next) {
    Domain dom = info.getDomain();
    DomainSpec spec = dom.getSpec();
    boolean shouldStopAdmin = false;
    String sc = spec.getStartupControl();
    if (sc != null && StartupControlConstants.NONE_STARTUPCONTROL.equals(sc.toUpperCase())) {
        shouldStopAdmin = true;
        next = DomainStatusUpdater.createAvailableStep(DomainStatusUpdater.ALL_STOPPED_AVAILABLE_REASON, next);
    }
    String adminName = spec.getAsName();
    Map<String, ServerKubernetesObjects> currentServers = info.getServers();
    Collection<Map.Entry<String, ServerKubernetesObjects>> serversToStop = new ArrayList<>();
    for (Map.Entry<String, ServerKubernetesObjects> entry : currentServers.entrySet()) {
        if ((shouldStopAdmin || !entry.getKey().equals(adminName)) && !servers.contains(entry.getKey())) {
            serversToStop.add(entry);
        }
    }
    if (!serversToStop.isEmpty()) {
        return new ServerDownIteratorStep(serversToStop, next);
    }
    return next;
}
Also used : DomainSpec(oracle.kubernetes.weblogic.domain.v1.DomainSpec) ServerKubernetesObjects(oracle.kubernetes.operator.helpers.ServerKubernetesObjects) ArrayList(java.util.ArrayList) Domain(oracle.kubernetes.weblogic.domain.v1.Domain) Map(java.util.Map) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) HashMap(java.util.HashMap) ConcurrentMap(java.util.concurrent.ConcurrentMap) V1ConfigMap(io.kubernetes.client.models.V1ConfigMap)

Aggregations

Domain (oracle.kubernetes.weblogic.domain.v1.Domain)33 Type (java.lang.reflect.Type)14 ProgressRequestBody (io.kubernetes.client.ProgressRequestBody)7 ProgressResponseBody (io.kubernetes.client.ProgressResponseBody)7 DomainSpec (oracle.kubernetes.weblogic.domain.v1.DomainSpec)7 Domain (org.openstack4j.model.identity.v3.Domain)7 V1ObjectMeta (io.kubernetes.client.models.V1ObjectMeta)4 ArrayList (java.util.ArrayList)4 Map (java.util.Map)4 ApiException (io.kubernetes.client.ApiException)3 V1Service (io.kubernetes.client.models.V1Service)3 HashMap (java.util.HashMap)3 ConcurrentMap (java.util.concurrent.ConcurrentMap)3 CallBuilderFactory (oracle.kubernetes.operator.helpers.CallBuilderFactory)3 Packet (oracle.kubernetes.operator.work.Packet)3 Test (org.junit.Test)3 HttpUserAgentTest (com.meterware.pseudoserver.HttpUserAgentTest)2 V1ConfigMap (io.kubernetes.client.models.V1ConfigMap)2 V1ServiceList (io.kubernetes.client.models.V1ServiceList)2 List (java.util.List)2