Skip to content

LKE-9994: add networking configuration for LKE clusters with VXLAN support - #1048

Open
vsilva-akamai wants to merge 9 commits into
linode:mainfrom
vsilva-akamai:nitro-networking
Open

vsilva-akamai wants to merge 9 commits into
linode:mainfrom
vsilva-akamai:nitro-networking

Conversation

@vsilva-akamai

Copy link
Copy Markdown

📝 Description

What does this PR do and why is this change necessary?

  • Add v4beta-only Enterprise LKE networking options to LKEClusterCreateOptions.
  • Add networking response types and GetLKEClusterNetworking for retrieving the
    effective cluster networking configuration.
  • Add create and networking endpoint fixtures plus unit coverage for JSON
    serialization and response decoding.

✔️ How to Test

What are the steps to reproduce the issue or verify the changes?

Deploy the matching v4beta LKE API, CAPI CRDs/webhooks/controller, and APINext
route/schema support before releasing this client. Create an Enterprise LKE
cluster with the new networking options and call GetLKEClusterNetworking.
Verify the request contains the expected routing-mode and CIDR fields and that
the response decodes the effective networking configuration. Cover IPv4 VXLAN
and dual-stack VXLAN when the matching server release is available.

How do I run the relevant unit/integration tests?

go test ./test/unit

Copilot AI lite review requested due to automatic review settings September 21, 2026 20:06
@vsilva-akamai
vsilva-akamai requested review from a team as code owners September 21, 2026 20:06
@vsilva-akamai
vsilva-akamai requested review from mawilk90 and zliang-akamai and removed request for a team September 21, 2026 20:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Add IPv6 dual-stack request fields and comprehensive request-body serialization assertions.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Adds v4beta Enterprise LKE networking configuration, VXLAN support, and a networking retrieval endpoint.

Changes:

  • Adds networking request/response types and create options.
  • Adds GetLKEClusterNetworking.
  • Adds fixtures and unit coverage.
File Summary
test/​unit/​lke_clusters_test.go Tests networking serialization and response decoding.
test/​unit/​fixtures/​lke_cluster_networking_get.json Adds networking endpoint response fixture.
test/​unit/​fixtures/​lke_cluster_create.json Adds networking create response data.
lke_clusters.go Adds networking models, options, and API endpoint.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread lke_clusters.go
@vsilva-akamai vsilva-akamai changed the title feat: add networking configuration for LKE clusters with VXLAN support LKE-9994: add networking configuration for LKE clusters with VXLAN support Sep 21, 2026

@rpotla-akam rpotla-akam left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, please change the title appropriately :)

@mawilk90
mawilk90 requested review from a team and jriddle-linode and removed request for a team September 23, 2026 06:10
Comment thread lke_clusters.go Outdated
Comment on lines +49 to +55
type LKEClusterNetworkingOptions struct {
RoutingMode *LKEClusterRoutingMode `json:"routing_mode,omitzero"`
ClusterCIDRIPv4 *string `json:"cluster_cidr_ipv4,omitzero"`
NodeCIDRMaskSizeIPv4 *int `json:"node_cidr_mask_size_ipv4,omitzero"`
ServiceClusterIPRangeIPv4 *string `json:"service_cluster_ip_range_ipv4,omitzero"`
MaxPods *int `json:"max_pods,omitzero"`
NodeBalancerBackendPrefixLength *int `json:"nodebalancer_backend_prefix_length,omitzero"`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this only available for create LKE not update? If so can you name it as LKEClusterNetworkingCreateOptions

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's create only. Updated the type name.

dependabot Bot and others added 8 commits September 29, 2026 11:01
… 1.26 (linode#1043)

* build(deps): bump golang.org/x/text from 0.41.0 to 0.42.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.41.0...v0.42.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Upgrade go to 1.26 in go.work

* fix lint

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
)

Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.35.7 to 0.37.0.
- [Commits](kubernetes/apimachinery@v0.35.7...v0.37.0)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…Balancers (linode#1035)

* Add support for Backend Connectivity and more types in NodeBalancers

* Add CapabilityPremiumNodeBalancer

* docs: clarify NBTypeCommon description as legacy default plan

* test: add nil checks for BackendConnectivity in NodeBalancer_Create test

* test common type; remove basic type; remove broken get region call

* Rename test
)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.36.0 to 0.37.0.
- [Commits](golang/oauth2@v0.36.0...v0.37.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

* Add backend ipv6 prefix support for nodebalancers

* cleanup duplicated config in test
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.58.0 to 0.59.0.
- [Commits](golang/net@v0.58.0...v0.59.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.35.7 to 0.37.1.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.35.7...v0.37.1)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-version: 0.37.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants