diff --git a/pkg/common/parameters.go b/pkg/common/parameters.go index 837b52cee..bae7b65f4 100644 --- a/pkg/common/parameters.go +++ b/pkg/common/parameters.go @@ -22,6 +22,9 @@ import ( ) const ( + // Disk Params + ParameterAccessMode = "access-mode" + // Parameters for StorageClass ParameterKeyType = "type" ParameterKeyReplicationType = "replication-type" @@ -151,7 +154,6 @@ func (pp *ParameterProcessor) ExtractAndDefaultParameters(parameters map[string] Tags: make(map[string]string), // Default Labels: make(map[string]string), // Default ResourceTags: make(map[string]string), // Default - AccessMode: "READ_WRITE_SINGLE", // Default } for k, v := range extraVolumeLabels { @@ -254,6 +256,10 @@ func (pp *ParameterProcessor) ExtractAndDefaultParameters(parameters map[string] if paramEnableMultiZoneProvisioning { p.Labels[MultiZoneLabel] = "true" } + case ParameterAccessMode: + if v != "" { + p.AccessMode = v + } default: return p, fmt.Errorf("parameters contains invalid option %q", k) } diff --git a/test/e2e/tests/single_zone_e2e_test.go b/test/e2e/tests/single_zone_e2e_test.go index 65ad912cc..802099150 100644 --- a/test/e2e/tests/single_zone_e2e_test.go +++ b/test/e2e/tests/single_zone_e2e_test.go @@ -1708,7 +1708,8 @@ func deleteVolumeOrError(client *remote.CsiClient, volID string) { func createAndValidateUniqueZonalMultiWriterDisk(client *remote.CsiClient, project, zone string, diskType string) (string, string) { // Create Disk disk := typeToDisk[diskType] - disk.params.AccessMode = "READ_WRITE_MANY" + + disk.params[common.ParameterAccessMode] = "READ_WRITE_MANY" volName := testNamePrefix + string(uuid.NewUUID()) volume, err := client.CreateVolumeWithCaps(volName, disk.params, defaultMwSizeGb,