Skip to content

TPT-4456: Project RDMA Interfaces - #1034

Open
yec-akamai wants to merge 11 commits into
mainfrom
proj/rdma-interfaces
Open

TPT-4456: Project RDMA Interfaces#1034
yec-akamai wants to merge 11 commits into
mainfrom
proj/rdma-interfaces

Conversation

@yec-akamai

Copy link
Copy Markdown
Contributor

No description provided.

yec-akamai and others added 9 commits July 6, 2026 14:17
* init

* lint

* address comments for omitzero

* lint

* update comment

* fix interfaces list

* fix lint
* 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
Copilot AI lite review requested due to automatic review settings August 28, 2026 18:51
@yec-akamai
yec-akamai requested review from a team as code owners August 28, 2026 18:51
@yec-akamai
yec-akamai requested review from lgarber-akamai and removed request for a team August 28, 2026 18:51
@yec-akamai yec-akamai added the project for new projects in the changelog. label Aug 28, 2026
@yec-akamai
yec-akamai requested review from mawilk90 and removed request for a team August 28, 2026 18:51
@yec-akamai yec-akamai changed the title Project: RDMA Interfaces TPT-4456: Project RDMA Interfaces Aug 28, 2026

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.

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 add InstanceCreateOptions.LinodeInstanceInterfaces to allow RDMA interfaces during instance creation.
  • Update ListInterfaces handling 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.

Comment thread interfaces.go
Comment thread interfaces.go
Comment thread interfaces.go
Comment thread test/integration/instance_interfaces_test.go
Comment thread interfaces.go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

project for new projects in the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants