Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Fix toleration comparison & merging logic #81732
What type of PR is this?
What this PR does / why we need it:
The list of tolerations on a pod is effectively represents a union of the taints tolerated by each, so it is entirely reasonable to have 2 tolerations like:
- key: foo operator: Equal value: bar - key: foo operator: Equal value: baz
However, the old logic would consider those 2 tolerations a conflict, and overwrite one with the other in a merge.
This PR fixes the toleration helper methods to represent a logical merge and comparison. It does that by recognizing that some tolerations are supersets of others, due to wildcard matches. For example, the above tolerations would be redundant if there was a 3rd toleration:
These fixes are needed to better support RuntimeClass scheduling, but also affect the alpha PodTolerationRestriction admission controller.
Special notes for your reviewer:
There are 2 design decisions I want to highlight, and am open to discussion on:
Does this PR introduce a user-facing change?:
Hi all, code freeze is coming up in just a few days (Thursday, end of day, PST), so we need to make sure that this PR will be merged for v1.16 or moved to v1.17. Looks like it is coming along, but can you comment on it's status with respect to the milestone?
[APPROVALNOTIFIER] This PR is APPROVED
The full list of commands accepted by this bot can be found here.
The pull request process is described here
/retest Regards, Draven…
On Aug 27, 2019, 6:18 PM +0800, Kubernetes Prow Robot ***@***.***>, wrote: @tallclair: The following test failed, say /retest to rerun them all: Test name Commit Details Rerun command pull-kubernetes-e2e-gce-100-performance 2e08288 link /test pull-kubernetes-e2e-gce-100-performance Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.