feat: Add Enable GKE Slice Controller#5375
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces the capability to enable the GKE Slice Controller, enhancing support for super-slicing topologies in GKE clusters. Concurrently, it improves the flexibility of GKE node pool configurations by making the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces two main changes. First, it enables the GKE Slice Controller by adding a new enable_slice_controller variable to the gke-cluster module. Second, it improves the handling of linux_node_config in the gke-node-pool module by making the configuration block dynamic. This ensures the block is only created when necessary, improving the module's robustness.
The changes are well-implemented. I have one suggestion to improve the readability of a complex condition in the gke-node-pool module.
|
/gcbrun |
|
If this input variable is supported starting with a certain version of google-beta / google provider, please update the versions.tf file as well. |
There was a problem hiding this comment.
To support GKE slice controller, we might need specific version pinnings and validations.
Requesting to specify min. version requirements (if any) to these.
- Min. GKE version required and channel (and corresponding validation)
- Min. Google beta provider version.
- Min Kueue version required (if any). We might need to check if that min. version is supported by tookit.
- Mutual Exclusion with DWS (If yes, we may need validation here as well)
|
@SwarnaBharathiMantena @shubpal07 bumped the TF versions and added the GKE version check. DWS and Kueue are actually unrelated with this GKE cluster setting. |
|
/gcbrun |
|
/gcbrun |
|
Ran tests using babysit |
|
/gcbrun |
a12aa37
into
GoogleCloudPlatform:develop
Co-authored-by: Swarna Bharathi Mantena <[email protected]>
Co-authored-by: Swarna Bharathi Mantena <[email protected]>
Description
This PR adds support for enabling the GKE Slice Controller in the
gke-clustermodule, allowing users to provision Super-slicing topologies.Changes made:
modules/scheduler/gke-cluster:enable_slice_controller(defaults tofalsefor backwards compatibility).slice_controller_configblock within thegoogle_container_clusterresource to conditionally enable the addon based on the variable.README.mdviamake format.Motivation and Context
Super-slicing support in CT.
How Has This Been Tested?
make testslocally, passing all Terraform/Packer syntax, golden copy, and Go unit validations.make formatto ensure Terraform formatting and auto-generatedterraform-docsare up to date.Types of changes