Skip to content

TPT Support for rdma settings on lke nodepools - #1063

Open
awalker125-akamai wants to merge 6 commits into
linode:mainfrom
awalker125-akamai:support-for-rdma-settings-on-lke-nodepools
Open

awalker125-akamai wants to merge 6 commits into
linode:mainfrom
awalker125-akamai:support-for-rdma-settings-on-lke-nodepools

Conversation

@awalker125-akamai

Copy link
Copy Markdown

📝 Description

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

Adds networking field support to LKE node pools, enabling callers to configure the ordered set of VPC-backed interfaces (including RDMA interfaces) attached to nodes in an LKE Enterprise pool.

New types:

  • LKENodePoolInterfaceType — string enum with values vpc and rdma_vpc
  • LKENodePoolInterface — a single interface entry (type, vpc_id, subnet_id)
  • LKENodePoolNetworking — wraps an ordered interfaces slice

Changed structs:

  • LKENodePool — adds Networking *LKENodePoolNetworking
  • LKENodePoolCreateOptions — adds Networking *LKENodePoolNetworking (accepted at creation time only, v4beta)
  • LKENodePoolUpdateOptions — deliberately unchanged; the API returns HTTP 400 if networking is supplied on PUT, so there is no field to send
  • GetCreateOptions() — updated to copy Networking from pool to create options

Notes:

  • The first interface must always be type: vpc and references the cluster's primary VPC — this is enforced server-side, not in the client
  • Networking is immutable after creation; attempting to include it in a PUT request will be rejected by the API

✔️ How to Test

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

  1. Create a node pool on an LKE Enterprise cluster with an RDMA-capable plan, supplying Networking in the create options — confirm the field round-trips correctly in the response
  2. GET or LIST node pools on that cluster — confirm networking.interfaces is populated in the response

How do I run the relevant unit/integration tests?

go test ./test/unit/... -run "TestLKENodePoolRDMA"

Two new unit tests cover create and get:

  • TestLKENodePoolRDMA_Create — verifies networking.interfaces serial deserializes correctly from the response
  • TestLKENodePoolRDMA_Get — verifies networking.interfaces deserializes correctly on GET, including interface types and IDs

@awalker125-akamai
awalker125-akamai requested review from a team as code owners October 26, 2026 13:53
@awalker125-akamai
awalker125-akamai requested review from lgarber-akamai and mawilk90 and a balanced review from Copilot and removed request for a team October 26, 2026 13:53

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.

🟢 Approval recommended

The additive changes have no identified blocking issues; outgoing request-serialization coverage remains a non-blocking improvement.

1 open issue
What changed in this PR

Adds creation-time networking support to LKE Enterprise node pools, allowing callers to configure ordered VPC and RDMA interfaces through the Go client.

Changes:

  • Adds interface types and networking models to node pool responses and create options.
  • Preserves networking in GetCreateOptions() while leaving update options unchanged.
  • Adds create/get response tests and JSON fixtures.
File Description
test/​unit/​lke_node_pools_test.go Adds RDMA node pool create/get tests.
test/​unit/​fixtures/​lke_node_pool_rdma_get.json Supplies a GET response with ordered interfaces.
test/​unit/​fixtures/​lke_node_pool_rdma_create.json Supplies a create response with ordered interfaces.
lke_node_pools.go Adds networking models, fields, and create-option copying.

Review effort: Balanced

Comment thread lke_node_pools.go
// Networking configures the ordered set of VPC-backed interfaces for LKE Enterprise node pools.
// Accepted only at creation time; immutable after the pool is created.
// NOTE: Networking may not currently be available to all users and can only be used with v4beta.
Networking *LKENodePoolNetworking `json:"networking,omitzero"`
@zliang-akamai zliang-akamai added the community-contribution contributions from the community. label Oct 26, 2026
@awalker125-akamai awalker125-akamai changed the title Support for rdma settings on lke nodepools TPT Support for rdma settings on lke nodepools Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-contribution contributions from the community.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants