From 3c1576d47c3142847574d94a5018649473587458 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Wed, 23 Oct 2024 13:47:15 -0400 Subject: [PATCH] Add e2e for fsGroupChangePolicy for RWOP volume types --- .../storage/testsuites/fsgroupchangepolicy.go | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/test/e2e/storage/testsuites/fsgroupchangepolicy.go b/test/e2e/storage/testsuites/fsgroupchangepolicy.go index a8ca90c3288..6aa8512e03e 100644 --- a/test/e2e/storage/testsuites/fsgroupchangepolicy.go +++ b/test/e2e/storage/testsuites/fsgroupchangepolicy.go @@ -113,8 +113,6 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD l = local{} l.driver = driver l.config = driver.PrepareTest(ctx, f) - testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange - l.resource = storageframework.CreateVolumeResource(ctx, l.driver, l.config, pattern, testVolumeSizeRange) } cleanup := func(ctx context.Context) { @@ -129,6 +127,8 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD framework.ExpectNoError(errors.NewAggregate(errs), "while cleanup resource") } + rwopAccessMode := v1.ReadWriteOncePod + tests := []struct { name string // Test case name podfsGroupChangePolicy string // 'Always' or 'OnRootMismatch' @@ -143,6 +143,7 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD // * OnRootMismatch policy is not supported. // * It may not be possible to chgrp after mounting a volume. supportsVolumeMountGroup bool + volumeAccessMode *v1.PersistentVolumeAccessMode }{ // Test cases for 'Always' policy { @@ -154,6 +155,16 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD finalExpectedSubDirFileOwnership: 2000, supportsVolumeMountGroup: true, }, + { + name: "rwop pod created with an initial fsgroup, new pod fsgroup applied to volume contents", + podfsGroupChangePolicy: "Always", + initialPodFsGroup: 1000, + secondPodFsGroup: 2000, + finalExpectedRootDirFileOwnership: 2000, + finalExpectedSubDirFileOwnership: 2000, + supportsVolumeMountGroup: true, + volumeAccessMode: &rwopAccessMode, + }, { name: "pod created with an initial fsgroup, volume contents ownership changed via chgrp in first pod, new pod with same fsgroup applied to the volume contents", podfsGroupChangePolicy: "Always", @@ -218,6 +229,13 @@ func (s *fsGroupChangePolicyTestSuite) DefineTests(driver storageframework.TestD } init(ctx) + testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange + if test.volumeAccessMode != nil { + accessModes := []v1.PersistentVolumeAccessMode{*test.volumeAccessMode} + l.resource = storageframework.CreateVolumeResourceWithAccessModes(ctx, l.driver, l.config, pattern, testVolumeSizeRange, accessModes, nil) + } else { + l.resource = storageframework.CreateVolumeResource(ctx, l.driver, l.config, pattern, testVolumeSizeRange) + } ginkgo.DeferCleanup(cleanup) podConfig := e2epod.Config{ NS: f.Namespace.Name,