From 70ae93f28a09add85ebd2a216813cf21c2846482 Mon Sep 17 00:00:00 2001 From: hime Date: Wed, 29 Jan 2025 22:50:56 +0000 Subject: [PATCH] Update failed mount tests when running gcsfuse 2.9+. Change-Id: I6aa10f8362a41823049616b10f55f84170c4f510 --- test/e2e/testsuites/failed_mount.go | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/test/e2e/testsuites/failed_mount.go b/test/e2e/testsuites/failed_mount.go index fe829842..41b06414 100644 --- a/test/e2e/testsuites/failed_mount.go +++ b/test/e2e/testsuites/failed_mount.go @@ -30,6 +30,7 @@ import ( "github.com/onsi/ginkgo/v2" "google.golang.org/grpc/codes" utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/version" "k8s.io/klog/v2" "k8s.io/kubernetes/test/e2e/framework" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" @@ -169,8 +170,24 @@ func (t *gcsFuseCSIFailedMountTestSuite) DefineTests(driver storageframework.Tes defer tPod.Cleanup(ctx) ginkgo.By("Checking that the pod has failed mount error") - tPod.WaitForFailedMountError(ctx, codes.NotFound.String()) - tPod.WaitForFailedMountError(ctx, "storage: bucket doesn't exist") + + if gcsfuseVersionStr == "" { + gcsfuseVersionStr = specs.GetGCSFuseVersion(ctx, f.ClientSet) + } + + gcsfuseSupportsInvalidResp := true + v, err := version.ParseSemantic(gcsfuseVersionStr) + if err == nil && v != nil { + gcsfuseSupportsInvalidResp = v.AtLeast(version.MustParseSemantic("v2.9.0")) + } + + if configPrefix == specs.SkipCSIBucketAccessCheckAndInvalidVolumePrefix && gcsfuseSupportsInvalidResp { + tPod.WaitForFailedMountError(ctx, codes.InvalidArgument.String()) + tPod.WaitForFailedMountError(ctx, "name should be a valid bucket resource name") + } else { + tPod.WaitForFailedMountError(ctx, codes.NotFound.String()) + tPod.WaitForFailedMountError(ctx, "storage: bucket doesn't exist") + } } ginkgo.It("should fail when the specified GCS bucket name is invalid", func() {