yunikorn-k8shim
yunikorn-k8shim copied to clipboard
[YUNIKORN-1196] Build against Kubernetes 1.23.12
What is this PR for?
Update build dependencies to Kubernetes 1.23.12. This provides better support for newer Kubernetes releases. However, this will drop support for running on Kubernetes releases earlier than 1.21.
What type of PR is it?
- [ ] - Bug Fix
- [x] - Improvement
- [ ] - Feature
- [ ] - Documentation
- [ ] - Hot Fix
- [ ] - Refactoring
Todos
- [ ] - Task
What is the Jira issue?
https://issues.apache.org/jira/browse/YUNIKORN-1196
How should this be tested?
E2e tests are provided and test matrix has been updated.
Screenshots (if appropriate)
Questions:
- [ ] - The licenses files need update.
- [x] - There is breaking changes for older versions.
- [ ] - It needs documentation.
Codecov Report
Merging #466 (a0f93e1) into master (d814750) will decrease coverage by
0.26%
. The diff coverage is21.11%
.
:exclamation: Current head a0f93e1 differs from pull request most recent head 3655aba. Consider uploading reports for the commit 3655aba to get more accurate results
@@ Coverage Diff @@
## master #466 +/- ##
==========================================
- Coverage 68.33% 68.07% -0.27%
==========================================
Files 42 42
Lines 7015 7048 +33
==========================================
+ Hits 4794 4798 +4
- Misses 2050 2080 +30
+ Partials 171 170 -1
Impacted Files | Coverage Δ | |
---|---|---|
pkg/cache/context.go | 45.10% <0.00%> (+2.42%) |
:arrow_up: |
pkg/cache/task.go | 66.92% <0.00%> (-1.62%) |
:arrow_down: |
pkg/plugin/support/framework_handle.go | 22.03% <2.77%> (-25.97%) |
:arrow_down: |
pkg/plugin/predicates/predicate_manager.go | 50.73% <45.71%> (+0.54%) |
:arrow_up: |
pkg/cache/external/scheduler_cache.go | 43.70% <100.00%> (+1.96%) |
:arrow_up: |
pkg/common/utils/utils.go | 59.39% <0.00%> (-5.17%) |
:arrow_down: |
pkg/schedulerplugin/conf/pluginconf.go | 86.84% <0.00%> (-0.23%) |
:arrow_down: |
pkg/appmgmt/general/metadata.go | 85.52% <0.00%> (-0.19%) |
:arrow_down: |
pkg/shim/scheduler.go | 73.33% <0.00%> (+0.60%) |
:arrow_up: |
... and 3 more |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
Hi, wanted to mention that building against 1.23.12 fixed YUNIKORN-1253 Tested on openshift 4.10.15 (Which is using v1.23.5+9ce5071), with yunikorn Helm chart deployed as standalone scheduler w/o the admission controller. Guessing the problem was that Generic ephemeral volumes were added in 1.23
Hi, wanted to mention that building against 1.23.12 fixed YUNIKORN-1253 Tested on openshift 4.10.15 (Which is using v1.23.5+9ce5071), with yunikorn Helm chart deployed as standalone scheduler w/o the admission controller. Guessing the problem was that Generic ephemeral volumes were added in 1.23
Unfortunately, there's still some issues here, especially when running in plugin mode. It seems the default scheduler logic in 1.23.x puts the pods into an internal unschedulable queue when they are not yet ready to be scheduled by YuniKorn, where they remain for quite some time (sometimes over a minute). Until that's solved, this will be blocked.
Unfortunately, there's still some issues here, especially when running in plugin mode. It seems the default scheduler logic in 1.23.x puts the pods into an internal unschedulable queue when they are not yet ready to be scheduled by YuniKorn, where they remain for quite some time (sometimes over a minute). Until that's solved, this will be blocked.
That should hopefully change when we have KEP-3521 fixed on the K8s side. With that change in place a pod can be marked not ready for scheduling and YuniKorn can release it.
Code coverage decrease is expected, as there are now several no-op stub functions necessary in framework_handle.go
. These are never called but are needed to satisfy the FrameworkHandle
interface in K8s 1.23.
Rebased on master since we have conflicts.