in internal/handler/appdeployment.go [193:212]
func (a *AppDeploymentHandler) EnsureDeployingFinished(ctx context.Context) (reconciler.OperationResult, error) {
a.logger.V(1).Info("Operation EnsureDeployingFinished")
if !a.phaseIs(v1alpha1.AppDeploymentPhaseDeploying) {
return reconciler.ContinueProcessing()
}
provisionJob := ctrlutils.ProvisionJobFromAppDeploymentSpec(a.appDeployment)
err := a.initializeJobAndAwaitCompletion(ctx, provisionJob)
switch err {
case nil:
// provision job is succeeded move the appdeployment to ready phase
a.appDeployment.Status.Phase = v1alpha1.AppDeploymentPhaseReady
return reconciler.RequeueOnErrorOrContinue(a.client.Status().Update(ctx, a.appDeployment))
case errJobNotCompleted:
a.logger.V(1).WithValues(log.AppDeploymentJobName, provisionJob.Name).Info("provision job is not completed yet")
return reconciler.Requeue()
default:
a.logger.Error(err, "provision job failed %s", provisionJob.Name)
return reconciler.RequeueWithError(err)
}
}