-
Notifications
You must be signed in to change notification settings - Fork 264
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
Support for Kubelet and Linux Node configurations in GKE node pools #2279
Conversation
This is still WIP, the acceptance test for Linux node configs doesn't pass yet but still wanted to get this out to get some early feedback. |
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.
I shared a few early thoughts! I haven't run the test yet, do you mind sharing what kind of issue you're encountering?
Steps: []resource.TestStep{ | ||
{ | ||
Config: testAccContainerNodePool_withKubeletConfig(cluster, np, "static"), | ||
Check: resource.ComposeTestCheckFunc( |
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.
Given that you're importing the resource, you can actually just omit all the Check
stuff. It's superseded by some default checks done when importing.
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.
Got it, will remove.
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.
fixed
I was running into some de-serialization problem. Fixed that in the process of changing from TypeList to TypeMap. Just finished running the new acceptance tests:
Also updated a bit the documentation while I'm at it. It's pretty much ready to go. |
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.
Glad to hear that helped fix them! I hoped as much 🙂
LGTM- thanks for your contribution @rmanyari!
Prior to merging this PR I've got to upstream the changes to our code generator repo and merge it there. Once that's done, I'll merge it here. It shouldn't be long- probably just a couple hours.
Dropping a brief update given this has taken days and not hours like I expected. I ran into some issues due to a bug introduced in the GKE resource by another PR initially, and resolved those. Now, I'm trying to get a successful test run in order to merge this. Terraform is sending the correct messages to the API, but the API isn't working how we'd expect. I've filed a bug internally against GKE, so I'll see if that gets traction. Specifically, I've been unsuccessful testing |
Welp, sorry for the late reply. Let me try that out. |
Yep - I think I'm running into the same prob. The test hangs because the node pool gets stuck in "repairing" I think. Looking at the output of a gcloud command, I can see these values for kubeletConfig:
But the GCE instance shows:
Which don't really match... So maybe we wait until the backend fixes are pushed before trying again? |
Sorry again for the delay @rmanyari! I've been following up upstream based on the results of the update test. It turns out that while the GKE API accepts [static, default], the actual configuration options that are expected are [static, none]. It passed the option directly on to the nodes & they're failing to register because they're configured with an invalid option. The GKE team is now aware and working on fixing it. In the meantime, I'll check with my team early next week whether we can merge prior to the API working correctly. The |
That would be great. We are really eager to start using these features in our clusters. Thanks again for shepherding this! |
Spoke with my team- we'll validate for the correct options for @rmanyari: Do you mind rebasing your change on top of the It's possible you'll get some weirdness from your Git upstream because we've moved from |
It went pretty well :) |
Glad to hear! Thanks again for your contribution, and my apologies for the extended holding pattern. Merging now. |
Per issue 6773, this PR adds support for KubeletConfig and LinuxNodeConfig attributes at GKE cluster and node creation. Updates are also supported at the node pool level.
Signed-off-by: rodrigo@twosigma.com