Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: failed delete pipelines are continuously re-reconciled but never rerun #102

Open
richcooper95 opened this issue Apr 4, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@richcooper95
Copy link
Member

Here we only check if the status of a delete pipeline has succeeded, and requeue if it hasn't. This means that if a pipeline fails, it's infinitely requeued (with a fastRequeue):

func ensureDeletePipelineIsReconciled(jobOpts jobOpts) (ctrl.Result, error) {
	...
	if existingDeletePipeline.Status.Succeeded > 0 {
		jobOpts.logger.Info("Delete Pipeline Completed")
		controllerutil.RemoveFinalizer(jobOpts.obj, runDeleteWorkflowsFinalizer)
		if err := jobOpts.client.Update(jobOpts.ctx, jobOpts.obj); err != nil {
			return ctrl.Result{}, err
		}
	} else {
		jobOpts.logger.Info("Delete Pipeline not finished", "status", existingDeletePipeline.Status)
	}

	return fastRequeue, nil
}

This may become an issue if many pipelines fail at once on the same cluster: the continual requeuing may end up using a chunk of the resources.

It's unclear what the right behaviour is here (since returning an error will also requeue), so this ticket is a placeholder/RFC!

@kirederik kirederik added bug Something isn't working enhancement New feature or request and removed bug Something isn't working enhancement New feature or request labels Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants