Class KieServerStateOpenShiftRepository
- java.lang.Object
-
- org.kie.server.services.openshift.impl.storage.cloud.KieServerStateCloudRepository
-
- org.kie.server.services.openshift.impl.storage.cloud.KieServerStateOpenShiftRepository
-
- All Implemented Interfaces:
org.kie.server.services.impl.storage.KieServerStateRepository,KieServerOpenShift,CloudClientFactory
public class KieServerStateOpenShiftRepository extends KieServerStateCloudRepository implements KieServerOpenShift
-
-
Field Summary
-
Fields inherited from class org.kie.server.services.openshift.impl.storage.cloud.KieServerStateCloudRepository
xs
-
-
Constructor Summary
Constructors Constructor Description KieServerStateOpenShiftRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcreate(org.kie.server.services.impl.storage.KieServerState kieServerState)io.fabric8.kubernetes.api.model.ConfigMapcreateOrReplaceCM(io.fabric8.openshift.client.OpenShiftClient client, io.fabric8.kubernetes.api.model.ConfigMap cm)io.fabric8.kubernetes.api.model.ConfigMapcreateOrReplaceKieServerStateCM(io.fabric8.openshift.client.OpenShiftClient client, String serverId, org.kie.server.services.impl.storage.KieServerState kieServerState)org.kie.server.services.impl.storage.KieServerStatedelete(String id)booleanexists(String id)Optional<String>getAppName(io.fabric8.openshift.client.OpenShiftClient client, String serverId)Optional<String>getAppNameFromPod(io.fabric8.openshift.client.OpenShiftClient client)io.fabric8.kubernetes.api.model.LabelSelectorgetKieServerCMLabelSelector(io.fabric8.openshift.client.OpenShiftClient client)booleanisKieContainerRemovalAllowed(io.fabric8.kubernetes.api.model.ConfigMap cm, org.kie.server.services.impl.storage.KieServerState newState)To be compatible with non kieserver process, (workbench), kie container at certain status, i.e.booleanisKieContainerUpdateDuringRolloutAllowed(io.fabric8.kubernetes.api.model.ConfigMap cm, org.kie.server.services.impl.storage.KieServerState newState)Non KieServer process including workbench is allowed to update KieServerState even during DC rollout, but ONLY under certain conditions.booleanisKieServerReady()org.kie.server.services.impl.storage.KieServerStateload(String serverId)List<String>retrieveAllKieServerIds()List<org.kie.server.services.impl.storage.KieServerState>retrieveAllKieServerStates()voidstore(String serverId, org.kie.server.services.impl.storage.KieServerState kieServerState)-
Methods inherited from class org.kie.server.services.openshift.impl.storage.cloud.KieServerStateCloudRepository
initializeXStream, retrieveKieServerId
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.kie.server.services.openshift.impl.storage.cloud.CloudClientFactory
createKubernetesClient, createOpenShiftClient, setupConfig
-
Methods inherited from interface org.kie.server.services.openshift.api.KieServerOpenShift
getKieServerCM, getKieServerDC, isDCStable
-
-
-
-
Method Detail
-
create
public void create(org.kie.server.services.impl.storage.KieServerState kieServerState)
-
retrieveAllKieServerStates
public List<org.kie.server.services.impl.storage.KieServerState> retrieveAllKieServerStates()
-
exists
public boolean exists(String id)
-
delete
public org.kie.server.services.impl.storage.KieServerState delete(String id)
-
store
public void store(String serverId, org.kie.server.services.impl.storage.KieServerState kieServerState)
- Specified by:
storein interfaceorg.kie.server.services.impl.storage.KieServerStateRepository
-
load
public org.kie.server.services.impl.storage.KieServerState load(String serverId)
- Specified by:
loadin interfaceorg.kie.server.services.impl.storage.KieServerStateRepository
-
getAppName
public Optional<String> getAppName(io.fabric8.openshift.client.OpenShiftClient client, String serverId)
-
getAppNameFromPod
public Optional<String> getAppNameFromPod(io.fabric8.openshift.client.OpenShiftClient client)
-
getKieServerCMLabelSelector
public io.fabric8.kubernetes.api.model.LabelSelector getKieServerCMLabelSelector(io.fabric8.openshift.client.OpenShiftClient client)
-
isKieServerReady
public boolean isKieServerReady()
- Specified by:
isKieServerReadyin interfaceKieServerOpenShift
-
isKieContainerRemovalAllowed
public boolean isKieContainerRemovalAllowed(io.fabric8.kubernetes.api.model.ConfigMap cm, org.kie.server.services.impl.storage.KieServerState newState)To be compatible with non kieserver process, (workbench), kie container at certain status, i.e. STOPPED, should not be removed.- Parameters:
dc-c-newState-- Returns:
-
isKieContainerUpdateDuringRolloutAllowed
public boolean isKieContainerUpdateDuringRolloutAllowed(io.fabric8.kubernetes.api.model.ConfigMap cm, org.kie.server.services.impl.storage.KieServerState newState)Non KieServer process including workbench is allowed to update KieServerState even during DC rollout, but ONLY under certain conditions.- Parameters:
cm-newState-- Returns:
-
createOrReplaceKieServerStateCM
public io.fabric8.kubernetes.api.model.ConfigMap createOrReplaceKieServerStateCM(io.fabric8.openshift.client.OpenShiftClient client, String serverId, org.kie.server.services.impl.storage.KieServerState kieServerState)
-
createOrReplaceCM
public io.fabric8.kubernetes.api.model.ConfigMap createOrReplaceCM(io.fabric8.openshift.client.OpenShiftClient client, io.fabric8.kubernetes.api.model.ConfigMap cm)
-
-