func()

in internal/handler/appdeployment.go [214:233]


func (a *AppDeploymentHandler) EnsureTeardownFinished(ctx context.Context) (reconciler.OperationResult, error) {
	a.logger.V(1).Info("Operation EnsureTeardownFinished")
	if !a.phaseIs(v1alpha1.AppDeploymentPhaseDeleting) {
		return reconciler.ContinueProcessing()
	}
	teardownJob := ctrlutils.TeardownJobFromAppDeploymentSpec(a.appDeployment)
	err := a.initializeJobAndAwaitCompletion(ctx, teardownJob)
	switch err {
	case nil:
		// teardown job is succeeded move the appdeployment to deleted phase
		a.appDeployment.Status.Phase = v1alpha1.AppDeploymentPhaseDeleted
		return reconciler.RequeueOnErrorOrContinue(a.client.Status().Update(ctx, a.appDeployment))
	case errJobNotCompleted:
		a.logger.V(1).WithValues(log.AppDeploymentJobName, teardownJob.Name).Info("teardown job is not completed yet")
		return reconciler.Requeue()
	default:
		a.logger.WithValues(log.AppDeploymentJobName, teardownJob.Name).Error(err, "teardown job failed %s")
		return reconciler.RequeueWithError(err)
	}
}