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

Fix service override #866

Merged

Conversation

DiegoTavares
Copy link
Collaborator

Fix service override delete and update operations

  • Implements ServiceOverride wrapper class in pycue
  • Fixes handling of ServiceOverride objects in the GUI
  • Resolves bug in cuebot that incorrectly processes ServiceOverrideDeleteRequest and ServiceOverrideUpdateRequest

Sorting jobs only by priority causes a situation where low priority jobs can get starved by a constant flow of high priority jobs.
The new formula adds a modifier to the sorting rank to take into account the number of cores the job is requesting and also the number of days the job is waiting on the queue.
Priorities numbers over 200 will mostly override the formula and work as a priority only based scheduling.
sort = priority + (100 * (1 - (job.cores/job.int_min_cores))) + (age in days)

Besides that, also take layer_int_cores_min into account when filtering folder_resourse limitations to avoid allocating more cores than the folder limits.

(cherry picked from commit 566411aeeddc60983a30eabe121fd03263d05525)
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Dec 11, 2020

CLA Signed

The committers listed above are authorized under a signed CLA.

- Implements ServiceOverride wrapper class in pycue
- Fixes handling of ServiceOverride objects in the GUI
- Resolves bug in cuebot that incorrectly processes ServiceOverrideDeleteRequest and ServiceOverrideUpdateRequest

(cherry picked from commit ab4e0c195f1f3df4f9c625b62ff9532b438ee5a4)
Copy link
Collaborator

@bcipriano bcipriano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good generally, a couple minor points.

cuegui/cuegui/ServiceDialog.py Outdated Show resolved Hide resolved
pycue/opencue/wrappers/service.py Show resolved Hide resolved
Copy link
Collaborator Author

@DiegoTavares DiegoTavares left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready for the next review. Sorry for the delay on this.

cuegui/cuegui/ServiceDialog.py Outdated Show resolved Hide resolved
cuegui/cuegui/ServiceDialog.py Outdated Show resolved Hide resolved
pycue/opencue/wrappers/service.py Show resolved Hide resolved
Signed-off-by: Diego Tavares da Silva <[email protected]>
@bcipriano
Copy link
Collaborator

Got a few conflicts here, needs to be resolved with master.

@bcipriano
Copy link
Collaborator

Looks like we've got some python test breakage now.

@DiegoTavares
Copy link
Collaborator Author

Alright, this has finally passed the tests.

@bcipriano bcipriano merged commit 0d3cc69 into AcademySoftwareFoundation:master Mar 5, 2024
11 of 12 checks passed
carlosfelgarcia pushed a commit to carlosfelgarcia/OpenCue that referenced this pull request May 22, 2024
carlosfelgarcia pushed a commit to carlosfelgarcia/OpenCue that referenced this pull request May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants