TPT-4456: Project RDMA Interfaces - #1034
Open
yec-akamai wants to merge 11 commits into
Open
Conversation
* init * lint * address comments for omitzero * lint * update comment * fix interfaces list * fix lint
* fix v2 * udpate
* init # Conflicts: # interfaces.go # regions.go # test/unit/fixtures/interface_list_with_rdma.json # test/unit/rdma_vpc_test.go # vpc.go * address comments for omitzero * Refactor vpcCreateOptionsCheck to use createOpts Current implementation of vpcCreateOptionsCheck verifies fields copied from VPC so comparing opts.Label == vpc.Label etc. is just comparing a value to itself —> good is always true. * Update fixtures * Create int tests for VPC and VPC Subnet with RDMA type * Add assertion for regular VPC type * Update vpcCreateOptionsCheck to use require * Update error msg in TestVPC_Update_Invalid * Update fixtures for TestVPC_List tests * Update err msg for invalid label in VPC and Subnet tests * Add negative TCs for RDMA VPC with IPv6 * Create int test for Linode instance with RDMA interfaces * Refactor createInstanceWithLinodeInterfaces to use LinodeInstanceInterfaceCreateOptions * Refactor TestInstance_CreateWithRDMAVPCInterfaces to use createInstanceWithLinodeInterfaces * Small refactor & fixture update * Linter * Comment out TestInstance_CreateWithRDMAVPCInterfaces due to infra changes needed * Update comment for TestVPC_WithRDMATypeIPv6_Fail * Update fixtures for TestVPC_CreateGet_smoke and TestVPC_Subnet_Create * Update fixtures and TestVPC_IPv4Ranges to return 4 vals in createVPC * Update TestInstance_CreateWithRDMAVPCInterfaces * Address Copilot remarks * Uncomment TestVPC_WithRDMATypeAndIPv6_Fail as IPv6 is blocked already --------- Co-authored-by: Ye Chen <yechen@akamai.com>
* add for passing tests * update test * disable cfw
yec-akamai
requested review from
lgarber-akamai
and removed request for
a team
August 28, 2026 18:51
Contributor
There was a problem hiding this comment.
Pull request overview
Adds first-class support for RDMA VPC interfaces (GPUDirect RDMA) to the Linode Interfaces/Instance Create surface area, along with unit + integration coverage and updated fixtures to reflect the API’s interface payloads.
Changes:
- Extend interface models/options to include
rdma_vpc, and addInstanceCreateOptions.LinodeInstanceInterfacesto allow RDMA interfaces during instance creation. - Update
ListInterfaceshandling and unit fixtures/tests to match the API response shape ({"interfaces":[...]}). - Add unit/integration test coverage plus new fixtures for RDMA VPC interface get/list/update/create semantics.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
interfaces.go |
Adds RDMA VPC interface types/options; updates ListInterfaces response handling. |
instances.go |
Introduces LinodeInstanceInterfaces and marshaling conflict logic for instance create. |
test/unit/rdma_vpc_test.go |
Adds unit tests for RDMA interface get/list/update and create marshaling semantics. |
test/unit/interface_test.go |
Updates interface list test assertions to match new fixture/response shape. |
test/unit/fixtures/interface_get_rdma_vpc.json |
New fixture for GetInterface with rdma_vpc. |
test/unit/fixtures/interface_list_with_rdma.json |
New fixture for listing interfaces including RDMA + non-RDMA. |
test/unit/fixtures/interface_update_rdma_vpc.json |
New fixture for updating an RDMA interface. |
test/unit/fixtures/interface_list.json |
Updates fixture to use interfaces envelope and revised payload. |
test/integration/instance_interfaces_test.go |
Updates integration coverage to create/update/delete behaviors with RDMA-capable instances. |
test/integration/fixtures/TestVPC_Update.yaml |
Fixture refresh from re-recording VPC update flow. |
test/integration/fixtures/TestInstance_CreateWithLinodeInterfaces.yaml |
Fixture refresh from re-recording instance create-with-interfaces flow (now includes extra event polling interactions). |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.