Skip to content

Ability to cancel Pending provisioner jobs in the UI #17791

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

Open
ibetitsmike opened this issue May 13, 2025 · 2 comments
Open

Ability to cancel Pending provisioner jobs in the UI #17791

ibetitsmike opened this issue May 13, 2025 · 2 comments
Labels
good first issue Easily solved issues suitable for starters and community contributors site Area: frontend dashboard

Comments

@ibetitsmike
Copy link
Contributor

ibetitsmike commented May 13, 2025

We need to be able to use GUI to cancel Pending provisioner jobs (that can be stuck due to wrong tags, etc.).

We are currently Failing those jobs through an unhanger service in coderd, but giving users the ability to do that manually sounds good.

@ibetitsmike ibetitsmike added site Area: frontend dashboard good first issue Easily solved issues suitable for starters and community contributors labels May 13, 2025
@ibetitsmike ibetitsmike changed the title Ability to cancel ongoing provisioner jobs that are Pending in the UI Ability to cancel Pending provisioner jobs in the UI May 13, 2025
@deansheather
Copy link
Member

For reference, a pending build looks like this:

Image

There's no stop, start, restart, cancel, delete buttons. It's difficult to recreate this scenario, but you can do it by spinning up an tagged external provisioner, publishing a template that uses that provisioner tag, then stopping the provisioner and creating a workspace.

Ideally the frontend can send a cancel request with a precondition on the request that the server ensures the build isn't started or claimed when being cancelled. We do not want a race between the user clicking cancel on a pending build and the build actually being picked up.

The server should accept a query parameter or header that denotes the job cancellation should only be processed if it's pending, and the server should take care to lock the rows and use a transaction to prevent it from being picked up during the request.

@sreya sreya added customer-requested Features requested by enterprise customers. Only humans may set this. and removed customer-requested Features requested by enterprise customers. Only humans may set this. labels May 13, 2025
@matifali
Copy link
Member

related to #17818

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Easily solved issues suitable for starters and community contributors site Area: frontend dashboard
Projects
None yet
Development

No branches or pull requests

4 participants