diff --git a/internal/controller/environmentrequest_controller.go b/internal/controller/environmentrequest_controller.go index 5cff0b00..d82de2f0 100644 --- a/internal/controller/environmentrequest_controller.go +++ b/internal/controller/environmentrequest_controller.go @@ -116,20 +116,34 @@ func (r *EnvironmentRequestReconciler) reconcile(ctx context.Context, environmen logger.V(1).Info("environment provider count", "active", len(environmentProviders.activeJobs), "successful", len(environmentProviders.successfulJobs), "failed", len(environmentProviders.failedJobs)) // Check providers availability - // TODO: Update status providers := etosv1alpha1.Providers{ IUT: environmentrequest.Spec.Providers.IUT.ID, ExecutionSpace: environmentrequest.Spec.Providers.ExecutionSpace.ID, LogArea: environmentrequest.Spec.Providers.LogArea.ID, } if err := checkProviders(ctx, r, environmentrequest.Namespace, providers); err != nil { - return err + meta.SetStatusCondition(&environmentrequest.Status.Conditions, + metav1.Condition{ + Status: metav1.ConditionFalse, + Type: StatusReady, + Message: fmt.Sprintf("Provider check failed: %s", err.Error()), + Reason: "Failed", + }) + logger.Error(err, "Error occurred while checking provider status") + return r.Status().Update(ctx, environmentrequest) } // Reconcile environment provider - // TODO Update status if err := r.reconcileEnvironmentProvider(ctx, environmentProviders, environmentrequest); err != nil { - return err + meta.SetStatusCondition(&environmentrequest.Status.Conditions, + metav1.Condition{ + Status: metav1.ConditionFalse, + Type: StatusReady, + Message: fmt.Sprintf("Environment provider reconciliation failed: %s", err.Error()), + Reason: "Failed", + }) + logger.Error(err, "Error occurred while reconciling environment provider") + return r.Status().Update(ctx, environmentrequest) } if environmentProviders.failed() {