Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skip IPSec/WireGuard e2e test when the Multicast feature is enabled #6264

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions test/e2e/fixtures.go
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,16 @@ func skipIfNoVMs(tb testing.TB) {
}
}

func skipIfMulticastEnabled(tb testing.TB, data *TestData) {
agentConf, err := data.GetAntreaAgentConf()
if err != nil {
tb.Fatalf("Error getting option multicast.enable value")
}
if agentConf.Multicast.Enable {
tb.Skipf("Skipping test because option multicast.enable is true")
}
}

func skipIfFeatureDisabled(tb testing.TB, feature featuregate.Feature, checkAgent bool, checkController bool) {
if checkAgent {
if featureGate, err := GetAgentFeatures(); err != nil {
Expand Down
1 change: 1 addition & 0 deletions test/e2e/ipsec_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ func TestIPSec(t *testing.T) {
t.Fatalf("Error when setting up test: %v", err)
}
defer teardownTest(t, data)
skipIfMulticastEnabled(t, data)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding the IPSec test part, do you mean to do config mutation as wireguard test?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, my thought is to keep the two consistent, either both skip the case that "multicast.enabled=false", or use mutate to enforce they are run.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.


t.Logf("Redeploy Antrea with IPsec tunnel enabled")
data.redeployAntrea(t, deployAntreaIPsec)
Expand Down
5 changes: 1 addition & 4 deletions test/e2e/wireguard_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,25 +40,22 @@ func TestWireGuard(t *testing.T) {
t.Fatalf("Error when setting up test: %v", err)
}
defer teardownTest(t, data)
luolanzone marked this conversation as resolved.
Show resolved Hide resolved
skipIfMulticastEnabled(t, data)
skipIfEncapModeIsNot(t, data, config.TrafficEncapModeEncap)
for _, node := range clusterInfo.nodes {
skipIfMissingKernelModule(t, data, node.name, []string{"wireguard"})
}
var previousTrafficEncryptionMode string
var previousMulticastEnabledState bool
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After sync with wenying, we keep both IPSec and WireGuard test in the same way to simply disabled related encryption e2e tests when multicast is enabled. So no need to do this kind of check and restore anymore.

ac := func(config *agentconfig.AgentConfig) {
previousTrafficEncryptionMode = config.TrafficEncryptionMode
config.TrafficEncryptionMode = "wireguard"
previousMulticastEnabledState = config.Multicast.Enable
config.Multicast.Enable = false
}
if err := data.mutateAntreaConfigMap(nil, ac, false, true); err != nil {
t.Fatalf("Failed to enable WireGuard tunnel: %v", err)
}
defer func() {
ac := func(config *agentconfig.AgentConfig) {
config.TrafficEncryptionMode = previousTrafficEncryptionMode
config.Multicast.Enable = previousMulticastEnabledState
}
if err := data.mutateAntreaConfigMap(nil, ac, false, true); err != nil {
t.Errorf("Failed to disable WireGuard tunnel: %v", err)
Expand Down
Loading