Skip to content

Commit

Permalink
Wait for even more DataScienceCluster conditions to finish reconciling (
Browse files Browse the repository at this point in the history
#121)

Co-authored-by: Jakub Stejskal <[email protected]>
  • Loading branch information
jiridanek and Frawless authored Mar 11, 2024
1 parent 480171d commit 3e70fa1
Showing 1 changed file with 16 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,22 @@ public boolean waitForReadiness(DataScienceCluster resource) {
// Check that DSC reconciliation has been successfully finalized
// https://github.com/red-hat-data-services/rhods-operator/blob/rhoai-2.8/controllers/datasciencecluster/datasciencecluster_controller.go#L257

// Wait for standard Kubernetes condition types (status for the whole DSC)
record ConditionExpectation(String conditionType, String expectedStatus) { }
List<ConditionExpectation> conditionExpectations = List.of(
new ConditionExpectation("Available", "True"),
new ConditionExpectation("Progressing", "False"),
new ConditionExpectation("Degraded", "False"),
new ConditionExpectation("Upgradeable", "True")
);
for (ConditionExpectation conditionExpectation : conditionExpectations) {
String conditionType = conditionExpectation.conditionType;
String expectedStatus = conditionExpectation.expectedStatus;
String conditionStatus = KubeUtils.getDscConditionByType(dsc.getStatus().getConditions(), conditionType).getStatus();
LOGGER.debug("DataScienceCluster {} {} status: {}", resource.getMetadata().getName(), conditionType, conditionStatus);
dscReady = dscReady && Objects.equals(conditionStatus, expectedStatus);
}

// Wait for ReconcileComplete condition (for the whole DSC)
String reconcileStatus = KubeUtils.getDscConditionByType(dsc.getStatus().getConditions(), "ReconcileComplete").getStatus();
LOGGER.debug("DataScienceCluster {} ReconcileComplete status: {}", resource.getMetadata().getName(), reconcileStatus);
Expand Down

0 comments on commit 3e70fa1

Please sign in to comment.