in flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/CommonStatus.java [61:97]
public ResourceLifecycleState getLifecycleState() {
var reconciliationStatus = getReconciliationStatus();
if (reconciliationStatus.isBeforeFirstDeployment()) {
return StringUtils.isEmpty(error)
? ResourceLifecycleState.CREATED
: ResourceLifecycleState.FAILED;
}
switch (reconciliationStatus.getState()) {
case UPGRADING:
return ResourceLifecycleState.UPGRADING;
case ROLLING_BACK:
return ResourceLifecycleState.ROLLING_BACK;
}
var lastReconciledSpec = reconciliationStatus.deserializeLastReconciledSpec();
if (lastReconciledSpec.getJob() != null
&& lastReconciledSpec.getJob().getState() == JobState.SUSPENDED) {
return ResourceLifecycleState.SUSPENDED;
}
var jobState = getJobStatus().getState();
if (jobState != null
&& org.apache.flink.api.common.JobStatus.valueOf(jobState)
.equals(org.apache.flink.api.common.JobStatus.FAILED)) {
return ResourceLifecycleState.FAILED;
}
if (reconciliationStatus.getState() == ReconciliationState.ROLLED_BACK) {
return ResourceLifecycleState.ROLLED_BACK;
} else if (reconciliationStatus.isLastReconciledSpecStable()) {
return ResourceLifecycleState.STABLE;
}
return ResourceLifecycleState.DEPLOYED;
}