-
Notifications
You must be signed in to change notification settings - Fork 69
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
Multiple RP with scheduler backporting from 1.18.5 #1097
Merged
centaurus-cloud-bot
merged 116 commits into
CentaurusInfra:master
from
Sindica:scale-out-poc-530-merge2master-2
Jun 4, 2021
Merged
Changes from 1 commit
Commits
Show all changes
116 commits
Select commit
Hold shift + click to select a range
b610806
Remove arktos cmd/kube-scheduler, pkg/scheduler, staging/src/k8s.io/k…
Sindica 5686745
Copy 1.18.5 cmd/kube-scheduler, pkg/scheduler, staging/src/k8s.io/kub…
Sindica 5171693
Add file modified comment for copyright header correctness
Sindica 1201a8f
Fix copyright header for backported 1.18.5 scheduler code
Sindica 5ff6f90
run ./hack/update-bazel.sh
Sindica b74a29e
Use arktos pkg/version/verflag
Sindica 253361a
Copy 1.18 staging/src/k8s.io/component-base/metrics/prometheus folder…
Sindica 0039ddb
Copy 1.18.5 staging/src/k8s.io/apimachinery/pkg/runtime/serializer/
Sindica 8f85418
Copy 1.18.5 staging/src/k8s.io/csi-translation-lib folder
Sindica 6f640d6
K8s PR 81946 - add cache-control headers to kube-apiserver
Sindica cf3d8cd
update-bazel & copyright header
Sindica c47fb1d
K8s PR 80681 - add options for name and namespace of leaderelection o…
Sindica ae7b0b9
K8s PR 84129 - add lenient decoding path for v1aplpha kube-scheduler …
Sindica f9b3ea2
K8s 1.18 PR 77595 Volume Scheduling Limits
Sindica 754ff9d
K8s 1.18 PR 88401: refactor volume binder
Sindica b4d4505
K8s 1.18 PR 84274: feature-gate PDB informer starts
Sindica e745616
Skip PR 83394 as Arktos does not support CSINodes
Sindica 0c1b1d0
K8s 1.18 PR 82465 - Move getPodPriority from /scheduler/util to /api/pod
Sindica 30dd573
Code change to skip PR 85863 - renaming, no performance impact
Sindica e9805bd
Code change to skip PR 81754 - Big change not performance related.
Sindica fc6d0d0
K8s PR 83578: scheduler policy API refactoring
Sindica 5d349d8
K8s 1.18 PR 86229 - remove ds controller dependency on scheduler meta…
Sindica 2ddb10c
K8s 1.18 PR 84323-feat: remove suspendedDaemonPods from daemon contro…
Sindica 558cf71
K8s 1.18 PR 86730: Break DS controller dependency on scheduler predic…
Sindica 1ab1d4c
K8s 1.18 PR 84746 - move out const strings in pkg/scheduler/api/well_…
Sindica 48663bd
K8s 1.18 PR 88435 - move well known cloud provider taints to k8s.io/c…
Sindica 28d03ed
K8s 1.18 PR 87342 - move generalpredicates logic to kubelet
Sindica 65744f1
K8s PR 87788 - reduce overhead of error message formatting and alloca…
Sindica f7cfeb2
K8s 1.18 PR 84294 - remove predicates.NodeInfo dependency from kubelet
Sindica 8892abe
K8s 1.18 PR 82255 - volume scheduling: move metrics to a separate pac…
Sindica 0dae368
K8s 1.18 PR 76968 - add Overhead to PodSpec and RuntimeClass
Sindica 64b907f
update-bazel©right
Sindica 9eeb2e6
Manual fix api-rules/violation_exceptions.list for make update
Sindica fb15fb0
K8s PR 80933 partial - make Overhead validation unconditional
Sindica 1ec1a36
K8s 1.18 PR 88338 - upgrade PodOverhead to beta
Sindica 63fad5f
K8s 1.19 PR 77327 - Even Pods Spread API changes
Sindica 7fc8b35
K8s 1.18 PR 83474 - CSI Topology GA
Sindica 411feca
K8s 1.18 PR 82329 - init check for cloud node controller
Sindica a062cdd
K8s 1.18 PR 82848 - Break out of loop when NodeHostName is found
Sindica 532fe56
K8s 1.18 PR 84469 - improve error handling in cloud node controller
Sindica 0c63c07
K8s 1.18 RR 81431 - promote node zone/region topology labels to GA
Sindica 9d5b84a
K8s 1.18 PR 82049 - promote node instance type label to GA
Sindica 894471f
K8s 1.18 PR 88230 - volume binder: simplify API
Sindica b042066
K8s 1.18 PR 79971 - add check to reduce orphaned volume
Sindica ffe5c55
K8s 1.18 PR 79696 - fix pv-controller sync check node affinity for sc…
Sindica cca6a02
K8s 1.18 PR 82683 - Refactor CSI Translation Library into a struct th…
Sindica 2cc5b9a
K8s 1.18 PR 87250 - adding taint toleration error reasons
Sindica 3200771
K8s 1.18 PR 80284 - fix a racing issue in client-go UpdateTransportCo…
Sindica bd18632
make update
Sindica 5b55873
Pick k8s PR 79879 - [e2e] Refactor andMove node related methods to fr…
Sindica 1312266
Pick k8s PR 81043 - Add new flag for whitelisting node taints
Sindica 53f5322
Pick k8s PR 86983 - Remove test/e2e dependency on scheduler/predicate…
Sindica 5cce70e
Remove scheduler/algorithm/priorities/util package
Sindica 9b545c3
Adopting e2e to Arktos
Sindica 22b20f6
PR 80200 - Tolerate the case if related event cannot be found
Sindica 7272037
Code fix for Arktos customization
Sindica 78c3f08
make update
Sindica cebf8d4
Temp disable certain restclient metrics for backporting difficulty
Sindica aeba8f6
Arktos change: set hashkey for ObjectMeta during workload generation
Sindica 58a08da
Apply Akrtos multi-tenancy changes to backported scheduler
Sindica 058aa76
Arktos changes: Partial runtime readiness support at node agent (#339…
Sindica 630e625
Remove tenant from PodMatchesTermsNamespaceAndSelector as it is missi…
Sindica f2093fe
Arktos change - bug fix: scheduler node runtime readiness predicate s…
Sindica cf091da
Arktos changes - log QPS
Sindica cbc197f
Arktos POC changes in PR 991
Sindica 93f0a82
Arktos POC: script change to start scale out cluster in local
Sindica a060901
Arktos POC: KCM/Scheduler/Kubelet code changes for scale out 2RPs
Sindica e654b3a
make update
Sindica a85de9d
Disable feature CSINodeInfo as it is introduced by 1.18.5 scheduler b…
Sindica aeaa5be
Manual for local scale out cluster setup.
Sindica 820b498
Kubeup & Kubemark changes for multiple RPs.
Sindica 971f798
Perf test changes for multiple RPs.
Sindica 5942a09
make update
Sindica 35c2bff
Force setting nodes to be evaluated as 500. (#1072)
Sindica fa52ae4
Fix perf-test clusterloader metrics - add back DeprecatedSchedulingLa…
Sindica 0220a65
fix error: User "system:kube-scheduler" cannot create resource "events"
sonyafenge c9cdea8
fix scheduler error: event_recorder.go:55] Could not construct refere…
sonyafenge bfcf055
using gcr.io as docker registry for flannel ds
8e41552
VM start and stop with resource deallocation and unbinding from assig…
pdgetrf 9920251
(back-port to scheduler 530) added a noschedule pod phase and removed…
pdgetrf bfdabed
(back-port to scheduler 530) vmPodShouldSleep change of 04013de096 (a…
7ddab19
(back-port to scheduler 530) Scheduler changes to use CommonInfo
96ed776
(back-port to scheduler 530) scheduler production part of commit 23cb…
446067a
Fix unit tests for scheduler common info
1f0d70a
Remove debug imports
a7c9b7f
Controller changes to use CommonInfo
6e5ce7f
K8s 1.18 RP 79837 - add fakes for events package, add startEventWatch…
Sindica 7851f29
Copy K8s 1.18 staging/src/k8s.io/client-go/tools/leaderelection folde…
Sindica c87899a
K8s PR 80681 - add options for name and namespace of leaderelection o…
Sindica efdc05a
Multiple RP support - bug fix - clone nodeInfo with rpId
Sindica 7401590
Bug fix: add missing plugin code for partial runtime readiness suppor…
Sindica f9057e0
Fix UT pkg/master/TestStorageVersionHashes - comment out csinodes in …
Sindica c6bc346
Daemonset UT fix: copied daemon_controller_test from 1.18.5. Applied …
Sindica a3ec0a5
Align arktos scheduler multi-tenancy UTs with 1.18
Sindica b7873ab
Fix UTs for multiple RP support & scheduler back porting
Sindica e82b1b4
Bugfix for backporting In-place Pod Vertical Scaling for container po…
Sindica 80b8ef4
Add back mistakenly removed updatePod code during cherry-pick from ar…
Sindica 57a6516
Fix arktos-up.sh
Sindica 1c23149
using commonInfo in scheduler resource predicate and priority plugin
8c5b59e
add back vertical scheduling feature in scheduler code
e9c6289
fix a couple UT for vertical scheduling
3276f71
add noderuntime readiness as default filters
66b6c68
Remove outdated OWNERS
Sindica e8eee27
Pick up scheduler changes caused daemonset integraion test changes
Sindica 3555873
K8s PR 82795 - graduate ScheduleDaemonSetPods to GA
Sindica 125bbd6
integration test: scheduler: refactor with scheduler back-ported
50bdcee
format or build change by make update
65d1590
integration test: volume: minor refactor with RP/TP scale out feature
98dc4f9
bug fix: not to start node informaer twice for tp/rp solo(combined) c…
493a8d8
scheduler perf tests and test framework changes
2c4f073
provided test utility code of waitCachedPodsStable
f6b5ed0
integration test: scheduler: minor - import orderings and commented c…
3a78d24
Address CR comment: sort import, rewrite comment, go-fmt, string fmt.
Sindica dfeaf70
Return error when node list fail - PR comment
Sindica 247762f
make update + copyrights correction
Sindica 077a7b4
CR feedback changes: comment, remove obsoleted commented code.
Sindica File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,8 +75,8 @@ func GetResourceRequest(pod *v1.Pod, resource v1.ResourceName) int64 { | |
return 1 | ||
} | ||
totalResources := int64(0) | ||
for _, container := range pod.Spec.Containers { | ||
if rQuantity, ok := container.Resources.Requests[resource]; ok { | ||
for _, workload := range pod.Spec.Workloads() { | ||
if rQuantity, ok := workload.Resources.Requests[resource]; ok { | ||
if resource == v1.ResourceCPU { | ||
totalResources += rQuantity.MilliValue() | ||
} else { | ||
|
@@ -100,8 +100,8 @@ func GetResourceRequest(pod *v1.Pod, resource v1.ResourceName) int64 { | |
// PodResourceAllocations returns a dictionary of resources allocated to the containers of pod. | ||
func PodResourceAllocations(pod *v1.Pod) (allocations v1.ResourceList) { | ||
allocations = v1.ResourceList{} | ||
for _, container := range pod.Spec.Containers { | ||
addResourceList(allocations, container.ResourcesAllocated) | ||
for _, workload := range pod.Spec.Workloads() { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this change here? Master does not have this changes There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same here |
||
addResourceList(allocations, workload.ResourcesAllocated) | ||
} | ||
// init containers define the minimum of any resource | ||
for _, container := range pod.Spec.InitContainers { | ||
|
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
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
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
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this change here? Master does not have this changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a but in master where the container type is directly used instead of the workloads()_ funciton. this function is only used in the preemption cases where VM type is not there yet so this bug is not uncovered yet. this change should fix it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
workloads() returns containers or VM depending on the type of pod, so the change looks correct.