diff --git a/go.mod b/go.mod index 784024122e..a22c2a3ccf 100644 --- a/go.mod +++ b/go.mod @@ -67,7 +67,7 @@ require ( github.com/google/gnostic-models v0.6.8 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/pprof v0.0.0-20240207164012-fb44976bdcd5 // indirect - github.com/google/uuid v1.6.0 // indirect + github.com/google/uuid v1.6.0 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 // indirect github.com/imdario/mergo v0.3.16 // indirect @@ -138,6 +138,7 @@ require ( ) replace ( + github.com/danwinship/knftables => github.com/kubernetes-sigs/knftables v0.0.13 github.com/google/cel-go => github.com/google/cel-go v0.17.7 // Mitigate https://github.com/kubernetes/apiserver/issues/97 k8s.io/api => k8s.io/api v0.29.2 k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.2 diff --git a/tests/e2e/requires_aws_api.go b/tests/e2e/requires_aws_api.go index 0407c55a07..56f21a12de 100644 --- a/tests/e2e/requires_aws_api.go +++ b/tests/e2e/requires_aws_api.go @@ -16,6 +16,7 @@ package e2e import ( "fmt" + "github.com/google/uuid" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" @@ -39,6 +40,11 @@ import ( const testTagName = "testTag" const testTagValue = "3.1415926" +// generateTagName appends a random uuid to tag name to prevent clashes on parallel e2e test runs on shared cluster +func generateTagName() string { + return testTagName + uuid.NewString()[:8] +} + func validateEc2Snapshot(ec2Client ec2iface.EC2API, input *ec2.DescribeSnapshotsInput) *ec2.DescribeSnapshotsOutput { describeResult, err := ec2Client.DescribeSnapshots(input) if err != nil { @@ -78,6 +84,7 @@ var _ = Describe("[ebs-csi-e2e] [single-az] [requires-aws-api] Dynamic Provision ec2Client := ec2.New(session.Must(session.NewSession())) It("should create a volume with additional tags", func() { + testTag := generateTagName() pods := []testsuites.PodDetails{ { Cmd: testsuites.PodCmdWriteToVolume("/mnt/test-1"), @@ -86,7 +93,7 @@ var _ = Describe("[ebs-csi-e2e] [single-az] [requires-aws-api] Dynamic Provision CreateVolumeParameters: map[string]string{ ebscsidriver.VolumeTypeKey: awscloud.VolumeTypeGP3, ebscsidriver.FSTypeKey: ebscsidriver.FSTypeExt4, - ebscsidriver.TagKeyPrefix: fmt.Sprintf("%s=%s", testTagName, testTagValue), + ebscsidriver.TagKeyPrefix: fmt.Sprintf("%s=%s", testTag, testTagValue), }, ClaimSize: driver.MinimumSizeForVolumeType(awscloud.VolumeTypeGP3), VolumeMount: testsuites.DefaultGeneratedVolumeMount, @@ -101,7 +108,7 @@ var _ = Describe("[ebs-csi-e2e] [single-az] [requires-aws-api] Dynamic Provision result, err := ec2Client.DescribeVolumes(&ec2.DescribeVolumesInput{ Filters: []*ec2.Filter{ { - Name: aws.String("tag:" + testTagName), + Name: aws.String("tag:" + testTag), Values: []*string{aws.String(testTagValue)}, }, }, @@ -119,6 +126,7 @@ var _ = Describe("[ebs-csi-e2e] [single-az] [requires-aws-api] Dynamic Provision }) It("should create a snapshot with additional tags", func() { + testTag := generateTagName() pod := testsuites.PodDetails{ Cmd: testsuites.PodCmdWriteToVolume("/mnt/test-1"), Volumes: []testsuites.VolumeDetails{ @@ -150,13 +158,13 @@ var _ = Describe("[ebs-csi-e2e] [single-az] [requires-aws-api] Dynamic Provision Pod: pod, RestoredPod: restoredPod, Parameters: map[string]string{ - ebscsidriver.TagKeyPrefix: fmt.Sprintf("%s=%s", testTagName, testTagValue), + ebscsidriver.TagKeyPrefix: fmt.Sprintf("%s=%s", testTag, testTagValue), }, ValidateFunc: func(_ *volumesnapshotv1.VolumeSnapshot) { validateEc2Snapshot(ec2Client, &ec2.DescribeSnapshotsInput{ Filters: []*ec2.Filter{ { - Name: aws.String("tag:" + testTagName), + Name: aws.String("tag:" + testTag), Values: []*string{aws.String(testTagValue)}, }, },