Scale Jobs Natively (Without Admission Controllers) #71
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
This pull request gives the possibility to Scale Down Jobs Natively (Without Admission Controller). It will be possible using the same logic already implemented for CronJobs.
Important: Jobs started from CronJobs won't be scaled unless the user specifies both
Jobs
andCronJobs
inside--include-resources
(the check is made usingownerReferences
)Changes
Refactored the scale function inside scaler.py to distinguish between the two use cases (Scaling Jobs using an Admission Controller or Natively). Refactored get_replicas, scale_down, scale_up functions. Refactored documentations to further clarify both uses cases
Tests done
3 unit tests were added inside
test_scaler.py
. two of them for downscaling/upscaling jobs, the third one aims at the particular use case where the jobs is started from a cronjob (the scaling shouln't be triggered)TODO