func()

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)
	}
}