-
Notifications
You must be signed in to change notification settings - Fork 40k
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
GCE: Allow node count to exceed GCE TargetPool maximums #25178
GCE: Allow node count to exceed GCE TargetPool maximums #25178
Conversation
cc/ @bprashanth |
@@ -68,6 +69,9 @@ const ( | |||
// are iterated through to prevent infinite loops if the API | |||
// were to continuously return a nextPageToken. | |||
maxPages = 25 | |||
|
|||
// TargetPools can only support 1000 VMs. | |||
maxInstancesPerTargetPool = 1000 |
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.
@kubernetes/goog-cluster fyi
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.
Internal b/28566577, FYI
I'm OK with this approach until we have real answer(s) |
Would be nice to functionize this logic and have a unit test? |
@thockin: Can do. Frustratingly, the two shuffles operate in slightly different type spaces right now ( |
b99b8f2
to
9ee563b
Compare
PTAL. Pulled shuffler out to util, added tests for both paths. |
}, | ||
} | ||
for _, tc := range tests { | ||
rand.Seed(5) |
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.
comment on this seed value and the "want" values above?
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.
Done. I used prose to comment the test blocks, hopefully that was good.
LGTM just a couple nits. Please self-LGTM when done |
If we would exceeded the TargetPool API maximums, instead just randomly select some subsection of the nodes to include in the TP instead.
9ee563b
to
faf0c44
Compare
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
LGTM |
GCE e2e build/test passed for commit faf0c44. |
Automatic merge from submit-queue |
…rest Tested with 2000 nodes, this actually meets the GCE API specifications (which is nutty). Previous PR (kubernetes#25178) was based on a mistaken understanding of a poorly documented set of limitations, and even poorer testing, for which I am embarassed.
Automatic merge from submit-queue GCE provider: Create TargetPool with 200 instances, then update with rest GCE provider: Create TargetPool with 200 instances, then update with rest Tested with 2000 nodes, this actually meets the GCE API specifications (which is nutty). Previous PR (#25178) was based on a mistaken understanding of a poorly documented set of limitations, and even poorer testing, for which I am embarassed. Also includes the revert of #25178 (review commits separately). [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
…rest Tested with 2000 nodes, this actually meets the GCE API specifications (which is nutty). Previous PR (kubernetes#25178) was based on a mistaken understanding of a poorly documented set of limitations, and even poorer testing, for which I am embarassed.
…rest Tested with 2000 nodes, this actually meets the GCE API specifications (which is nutty). Previous PR (kubernetes#25178) was based on a mistaken understanding of a poorly documented set of limitations, and even poorer testing, for which I am embarassed.
…rest Tested with 2000 nodes, this actually meets the GCE API specifications (which is nutty). Previous PR (kubernetes#25178) was based on a mistaken understanding of a poorly documented set of limitations, and even poorer testing, for which I am embarassed.
…rest Tested with 2000 nodes, this actually meets the GCE API specifications (which is nutty). Previous PR (kubernetes#25178) was based on a mistaken understanding of a poorly documented set of limitations, and even poorer testing, for which I am embarassed.
…herry-pick-25153-to-release-4.5 [release-4.5] Bug 1849340: 4.6: UPSTREAM: 91748: FieldManager: Reset if we receive nil or a list with one Origin-commit: 002a51f51065024cddd18d373bf7f80aa30a36de
If we would exceeded the TargetPool API maximums, instead just
randomly select some subsection of the nodes to include in the TP
instead.