Skip to content

Commit

Permalink
Move test ENI creation to test
Browse files Browse the repository at this point in the history
  • Loading branch information
amogh09 committed Aug 11, 2023
1 parent 140e60b commit 91ae4fa
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 4 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,6 @@ jobs:
sudo ip link set dev eth2 mtu 9001
sudo ip link set dev eth2 up
ip link show
sudo ip link add vpc-eni-test-1 type dummy
sudo ip link add vpc-eni-test-2 type dummy
sudo ip link add vpc-eni-test-3 type dummy
ip link show
- name: test
run: make e2e-test
- name: upload failed test artifacts
Expand Down
30 changes: 30 additions & 0 deletions plugins/vpc-eni/e2eTests/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ func TestAddDel(t *testing.T) {
targetNS := createTestTargetNS(t)
defer targetNS.Close()

testENI := createTestENI(t, tc.testENIName)
defer deleteTestENI(t, testENI.Attrs().HardwareAddr)

testENILink, err := netlink.LinkByName(tc.testENIName)
require.NoError(t, err, "test ENI not found: "+tc.testENIName)
testENIMACAddress := testENILink.Attrs().HardwareAddr
Expand Down Expand Up @@ -299,3 +302,30 @@ func requireIPAddresses(t *testing.T, macAddress net.HardwareAddr, expectedAddrs
assert.Contains(t, actualAddrs, ip)
}
}

// Creates a test (dummy) ENI
func createTestENI(t *testing.T, linkName string) netlink.Link {
t.Log("Creating test ENI", linkName)
la := netlink.NewLinkAttrs()
la.Name = linkName
err := netlink.LinkAdd(&netlink.Dummy{LinkAttrs: la})
require.NoError(t, err, "Failed to create test ENI")
link, err := netlink.LinkByName(linkName)
require.NoError(t, err, "Failed to find test ENI by name after creation")
return link
}

// Deletes test ENI
func deleteTestENI(t *testing.T, macAddress net.HardwareAddr) {
t.Log("Looking up test ENI with mac address", macAddress)
interfaces, err := net.Interfaces()
require.NoError(t, err, "Failed to get interfaces")
iface := eni.GetInterfaceByMACAddress(macAddress, interfaces)
t.Log("Found test ENI for deletion", iface.Name)

link, err := netlink.LinkByName(iface.Name)
require.NoError(t, err, "Failed to find link to delete", iface.Name)
err = netlink.LinkDel(link)
require.NoError(t, err, "Failed to delete test ENI", iface.Name)
t.Log("Deleted test ENI", link.Attrs().Name)
}

0 comments on commit 91ae4fa

Please sign in to comment.