forked from flux-framework/flux-core
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
job-manager: add builtin plugin to enable queue updates
Problem: There is no way to move a pending job to a different queue. Add a new .update-queue jobtap plugin from within job-manager/queue.c which allows updates to the queue for pending jobs. This plugin is registered from within the queue component itself to give the update callback access to the `struct queue` since there is no external access to the queue states without sending an RPC to the back to the job manager itself. The plugin validates the following before allowing a queue update: - The queue exists - The queue is currently enabled - Current job constraints exactly match the existing queue. This is required because the update-queue must replace existing constraints with the configured constraints of the new queue, and since existing queue constraints may be arbitrarily mixed with other job constraints, it is easiest for now to just require no extra constraints for a queue update (this could be improved in the future). If the above are all true then the queue update is allowed, the plugin adds the new queue constraints to the proposed updates, and requests that feasibility of the updated job be checked.
- Loading branch information
Showing
1 changed file
with
177 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters