mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 01:32:18 +02:00
CKS: Fix transition exception when scaling Stopped k8s clusters (#11598)
* add new k8s cluster transition * apply suggestion * apply suggestion
This commit is contained in:
parent
036fd00170
commit
7c727a3440
@ -58,6 +58,7 @@ public interface KubernetesCluster extends ControlledEntity, com.cloud.utils.fsm
|
||||
Stopping("Resources for the Kubernetes cluster are being destroyed"),
|
||||
Stopped("All resources for the Kubernetes cluster are destroyed, Kubernetes cluster may still have ephemeral resource like persistent volumes provisioned"),
|
||||
Scaling("Transient state in which resources are either getting scaled up/down"),
|
||||
ScalingStoppedCluster("Transient state in which the service offerings of stopped clusters are getting scaled"),
|
||||
Upgrading("Transient state in which cluster is getting upgraded"),
|
||||
Alert("State to represent Kubernetes clusters which are not in expected desired state (operationally in active control place, stopped cluster VM's etc)."),
|
||||
Recovering("State in which Kubernetes cluster is recovering from alert state"),
|
||||
@ -89,8 +90,11 @@ public interface KubernetesCluster extends ControlledEntity, com.cloud.utils.fsm
|
||||
s_fsm.addTransition(State.Running, Event.AutoscaleRequested, State.Scaling);
|
||||
s_fsm.addTransition(State.Running, Event.ScaleUpRequested, State.Scaling);
|
||||
s_fsm.addTransition(State.Running, Event.ScaleDownRequested, State.Scaling);
|
||||
s_fsm.addTransition(State.Stopped, Event.ScaleUpRequested, State.ScalingStoppedCluster);
|
||||
s_fsm.addTransition(State.Scaling, Event.OperationSucceeded, State.Running);
|
||||
s_fsm.addTransition(State.Scaling, Event.OperationFailed, State.Alert);
|
||||
s_fsm.addTransition(State.ScalingStoppedCluster, Event.OperationSucceeded, State.Stopped);
|
||||
s_fsm.addTransition(State.ScalingStoppedCluster, Event.OperationFailed, State.Alert);
|
||||
|
||||
s_fsm.addTransition(State.Running, Event.UpgradeRequested, State.Upgrading);
|
||||
s_fsm.addTransition(State.Upgrading, Event.OperationSucceeded, State.Running);
|
||||
|
||||
@ -284,7 +284,8 @@ public class KubernetesClusterScaleWorker extends KubernetesClusterResourceModif
|
||||
|
||||
private void scaleKubernetesClusterOffering() throws CloudRuntimeException {
|
||||
validateKubernetesClusterScaleOfferingParameters();
|
||||
if (!kubernetesCluster.getState().equals(KubernetesCluster.State.Scaling)) {
|
||||
List<KubernetesCluster.State> scalingStates = List.of(KubernetesCluster.State.Scaling, KubernetesCluster.State.ScalingStoppedCluster);
|
||||
if (!scalingStates.contains(kubernetesCluster.getState())) {
|
||||
stateTransitTo(kubernetesCluster.getId(), KubernetesCluster.Event.ScaleUpRequested);
|
||||
}
|
||||
if (KubernetesCluster.State.Created.equals(originalState)) {
|
||||
@ -475,6 +476,8 @@ public class KubernetesClusterScaleWorker extends KubernetesClusterResourceModif
|
||||
scaleKubernetesClusterOffering();
|
||||
} else if (clusterSizeScalingNeeded) {
|
||||
scaleKubernetesClusterSize();
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
stateTransitTo(kubernetesCluster.getId(), KubernetesCluster.Event.OperationSucceeded);
|
||||
return true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user