mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-10 15:32:05 -03:30
fix: refine test for rolling
closes: #41204 (cherry picked from commit 6c7be65456153bc912edff7a3673eee355b7e14c) Signed-off-by: Steve Hawkins <shawkins@redhat.com>
This commit is contained in:
parent
df1329f70a
commit
00640d629b
@ -218,16 +218,20 @@ public class KeycloakController implements Reconciler<Keycloak> {
|
||||
.ofNullable(existingDeployment.getMetadata().getAnnotations().get(Constants.KEYCLOAK_MIGRATING_ANNOTATION))
|
||||
.map(Boolean::valueOf).orElse(false)) {
|
||||
status.addNotReadyMessage("Performing Keycloak update, scaling down the deployment");
|
||||
} else if (existingDeployment.getStatus() != null
|
||||
&& existingDeployment.getStatus().getCurrentRevision() != null
|
||||
&& existingDeployment.getStatus().getUpdateRevision() != null
|
||||
&& !existingDeployment.getStatus().getCurrentRevision().equals(existingDeployment.getStatus().getUpdateRevision())) {
|
||||
} else if (isRolling(existingDeployment)) {
|
||||
status.addRollingUpdateMessage("Rolling out deployment update");
|
||||
}
|
||||
|
||||
distConfigurator.validateOptions(keycloakCR, status);
|
||||
}
|
||||
|
||||
public static boolean isRolling(StatefulSet existingDeployment) {
|
||||
return existingDeployment.getStatus() != null
|
||||
&& existingDeployment.getStatus().getCurrentRevision() != null
|
||||
&& existingDeployment.getStatus().getUpdateRevision() != null
|
||||
&& !existingDeployment.getStatus().getCurrentRevision().equals(existingDeployment.getStatus().getUpdateRevision());
|
||||
}
|
||||
|
||||
public void validatePodTemplate(Keycloak keycloakCR, KeycloakStatusAggregator status) {
|
||||
var spec = KeycloakDeploymentDependentResource.getPodTemplateSpec(keycloakCR);
|
||||
if (spec.isEmpty()) {
|
||||
|
||||
@ -40,6 +40,7 @@ import org.awaitility.Awaitility;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.keycloak.operator.Constants;
|
||||
import org.keycloak.operator.Utils;
|
||||
import org.keycloak.operator.controllers.KeycloakController;
|
||||
import org.keycloak.operator.controllers.KeycloakDeploymentDependentResource;
|
||||
import org.keycloak.operator.controllers.KeycloakServiceDependentResource;
|
||||
import org.keycloak.operator.crds.v2alpha1.deployment.Keycloak;
|
||||
@ -57,7 +58,6 @@ import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyIngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPeer;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPort;
|
||||
import io.fabric8.kubernetes.client.KubernetesClient;
|
||||
import io.fabric8.kubernetes.client.dsl.RollableScalableResource;
|
||||
import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
|
||||
import io.fabric8.kubernetes.client.utils.Serialization;
|
||||
import io.netty.util.NetUtil;
|
||||
@ -297,13 +297,9 @@ public final class CRAssert {
|
||||
}
|
||||
|
||||
public static CompletableFuture<Void> eventuallyRollingUpdateStatus(KubernetesClient client, Keycloak keycloak, String reason) {
|
||||
var cf1 = client.resource(keycloak).informOnCondition(kcs -> {
|
||||
try {
|
||||
assertKeycloakStatusCondition(kcs.get(0), KeycloakStatusCondition.ROLLING_UPDATE, true, "Rolling out deployment update");
|
||||
return true;
|
||||
} catch (AssertionError e) {
|
||||
return false;
|
||||
}
|
||||
// test the statefulset, rather that the keycloak status as the events with the local api server may happen too quickly and the keycloak status may not get upddated
|
||||
var cf1 = client.apps().statefulSets().withName(keycloak.getMetadata().getName()).informOnCondition(ss -> {
|
||||
return !ss.isEmpty() && KeycloakController.isRolling(ss.get(0));
|
||||
});
|
||||
var cf2 = client.resource(keycloak).informOnCondition(kcs -> {
|
||||
try {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user