Skip to content

Commit

Permalink
pkg aws ec2 api: delete network interface v2
Browse files Browse the repository at this point in the history
  • Loading branch information
dshehbaj committed Jan 31, 2025
1 parent cda50bd commit a92d1ea
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 23 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pkg/aws/ec2/api/eni_cleanup.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ func (e *ENICleaner) cleanUpAvailableENIs() {

// The ENI in available state has been sitting for at least the eni clean up interval and it should
// be removed
_, err := e.EC2Wrapper.DeleteNetworkInterface(&ec2.DeleteNetworkInterfaceInput{
_, err := e.EC2Wrapper.DeleteNetworkInterface(&ec2v2.DeleteNetworkInterfaceInput{
NetworkInterfaceId: networkInterface.NetworkInterfaceId,
})
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion pkg/aws/ec2/api/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ func (h *ec2APIHelper) GetSubnet(subnetId *string) (*types.Subnet, error) {

// DeleteNetworkInterface deletes a network interface with retries with exponential back offs
func (h *ec2APIHelper) DeleteNetworkInterface(interfaceId *string) error {
deleteNetworkInterface := &ec2.DeleteNetworkInterfaceInput{
deleteNetworkInterface := &ec2v2.DeleteNetworkInterfaceInput{
NetworkInterfaceId: interfaceId,
}

Expand Down
32 changes: 17 additions & 15 deletions pkg/aws/ec2/api/helper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ import (

mock_api "github.com/aws/amazon-vpc-resource-controller-k8s/mocks/amazon-vcp-resource-controller-k8s/pkg/aws/ec2/api"
"github.com/aws/amazon-vpc-resource-controller-k8s/pkg/config"
ec2v2 "github.com/aws/aws-sdk-go-v2/service/ec2"
"github.com/aws/aws-sdk-go-v2/service/ec2/types"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/ec2"
Expand Down Expand Up @@ -58,7 +60,7 @@ var (
securityGroup2 = "sg-00000000000000002"
securityGroups = []string{securityGroup1, securityGroup2}

tags = []*ec2.Tag{
tags = []types.Tag{
{
Key: aws.String("mock-key"),
Value: aws.String("mock-val"),
Expand All @@ -81,18 +83,18 @@ var (
InterfaceAssociation: &ec2.TrunkInterfaceAssociation{AssociationId: &branchAssociationId},
}

defaultClusterNameTag = &ec2.Tag{
defaultClusterNameTag = types.Tag{
Key: aws.String(fmt.Sprintf(config.ClusterNameTagKeyFormat, clusterName)),
Value: aws.String(config.ClusterNameTagValue),
}

createNetworkInterfaceInput = &ec2.CreateNetworkInterfaceInput{
createNetworkInterfaceInput = &ec2v2.CreateNetworkInterfaceInput{
Description: &eniDescriptionWithPrefix,
Groups: aws.StringSlice(securityGroups),
Groups: securityGroups,
SubnetId: &subnetId,
TagSpecifications: []*ec2.TagSpecification{
TagSpecifications: []types.TagSpecification{
{
ResourceType: aws.String(ec2.ResourceTypeNetworkInterface),
ResourceType: types.ResourceTypeNetworkInterface,
Tags: append(tags, defaultControllerTag, defaultClusterNameTag),
},
},
Expand Down Expand Up @@ -445,7 +447,7 @@ func TestEc2APIHelper_CreateNetworkInterface_WithSecondaryIP(t *testing.T) {

ec2ApiHelper, mockWrapper := getMockWrapper(ctrl)

ipCount := int64(5)
ipCount := int32(5)

createNetworkInterfaceInput.SecondaryPrivateIpAddressCount = &ipCount

Expand All @@ -468,7 +470,7 @@ func TestEc2APIHelper_CreateNetworkInterface_WithPrefixCount(t *testing.T) {

ec2ApiHelper, mockWrapper := getMockWrapper(ctrl)

prefixCount := int64(5)
prefixCount := int32(5)

createNetworkInterfaceInput.Ipv4PrefixCount = &prefixCount

Expand All @@ -491,7 +493,7 @@ func TestEc2APIHelper_CreateNetworkInterface_WithSecondaryIPAndPrefixCount_Error

ec2ApiHelper, _ := getMockWrapper(ctrl)

ipCount := int64(5)
ipCount := int32(5)

createNetworkInterfaceInput.SecondaryPrivateIpAddressCount = &ipCount
createNetworkInterfaceInput.Ipv4PrefixCount = &ipCount
Expand All @@ -511,18 +513,18 @@ func TestEc2APIHelper_CreateNetworkInterface_TypeTrunk(t *testing.T) {
defer ctrl.Finish()

ec2ApiHelper, mockWrapper := getMockWrapper(ctrl)
interfaceTypeTrunk := "trunk"
interfaceTypeTrunk := types.NetworkInterfaceCreationTypeTrunk

createNetworkInterfaceInput.InterfaceType = &interfaceTypeTrunk
createNetworkInterfaceInput.InterfaceType = interfaceTypeTrunk
mockWrapper.EXPECT().CreateNetworkInterface(createNetworkInterfaceInput).Return(
&ec2.CreateNetworkInterfaceOutput{
NetworkInterface: &ec2.NetworkInterface{NetworkInterfaceId: &trunkInterfaceId}}, nil)
&ec2v2.CreateNetworkInterfaceOutput{
NetworkInterface: &types.NetworkInterface{NetworkInterfaceId: &trunkInterfaceId}}, nil)
mockWrapper.EXPECT().CreateNetworkInterfacePermission(createNetworkInterfacePermissionInputTrunk).
Return(nil, nil)

output, err := ec2ApiHelper.CreateNetworkInterface(&eniDescription, &subnetId, securityGroups, tags, nil, &interfaceTypeTrunk)
output, err := ec2ApiHelper.CreateNetworkInterface(&eniDescription, &subnetId, securityGroups, tags, nil, aws.String(string(interfaceTypeTrunk)))

createNetworkInterfaceInput.InterfaceType = nil
createNetworkInterfaceInput.InterfaceType = types.NetworkInterfaceCreationType(interfaceTypeTrunk)

assert.NoError(t, err)
assert.Equal(t, trunkInterfaceId, *output.NetworkInterfaceId)
Expand Down
8 changes: 4 additions & 4 deletions pkg/aws/ec2/api/wrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ type EC2Wrapper interface {
CreateNetworkInterface(input *ec2v2.CreateNetworkInterfaceInput) (*ec2v2.CreateNetworkInterfaceOutput, error)
AttachNetworkInterface(input *ec2v2.AttachNetworkInterfaceInput) (*ec2v2.AttachNetworkInterfaceOutput, error)
DetachNetworkInterface(input *ec2v2.DetachNetworkInterfaceInput) (*ec2v2.DetachNetworkInterfaceOutput, error)
DeleteNetworkInterface(input *ec2.DeleteNetworkInterfaceInput) (*ec2.DeleteNetworkInterfaceOutput, error)
DeleteNetworkInterface(input *ec2v2.DeleteNetworkInterfaceInput) (*ec2v2.DeleteNetworkInterfaceOutput, error)
AssignPrivateIPAddresses(input *ec2v2.AssignPrivateIpAddressesInput) (*ec2v2.AssignPrivateIpAddressesOutput, error)
UnassignPrivateIPAddresses(input *ec2.UnassignPrivateIpAddressesInput) (*ec2.UnassignPrivateIpAddressesOutput, error)
DescribeNetworkInterfaces(input *ec2v2.DescribeNetworkInterfacesInput) (*ec2v2.DescribeNetworkInterfacesOutput, error)
Expand Down Expand Up @@ -615,9 +615,9 @@ func (e *ec2Wrapper) AttachNetworkInterface(input *ec2v2.AttachNetworkInterfaceI
return output, err
}

func (e *ec2Wrapper) DeleteNetworkInterface(input *ec2.DeleteNetworkInterfaceInput) (*ec2.DeleteNetworkInterfaceOutput, error) {
func (e *ec2Wrapper) DeleteNetworkInterface(input *ec2v2.DeleteNetworkInterfaceInput) (*ec2v2.DeleteNetworkInterfaceOutput, error) {
start := time.Now()
deleteNetworkInterfaceOutput, err := e.userServiceClient.DeleteNetworkInterface(input)
output, err := e.userServiceClientV2.DeleteNetworkInterface(context.Background(), input)
ec2APICallLatencies.WithLabelValues("delete_network_interface").Observe(timeSinceMs(start))

// Metric updates
Expand All @@ -629,7 +629,7 @@ func (e *ec2Wrapper) DeleteNetworkInterface(input *ec2.DeleteNetworkInterfaceInp
ec2DeleteNetworkInterfaceAPIErrCnt.Inc()
}

return deleteNetworkInterfaceOutput, err
return output, err
}

func (e *ec2Wrapper) DetachNetworkInterface(input *ec2v2.DetachNetworkInterfaceInput) (*ec2v2.DetachNetworkInterfaceOutput, error) {
Expand Down

0 comments on commit a92d1ea

Please sign in to comment.