diff --git a/pkg/volume/azure_file/azure_file.go b/pkg/volume/azure_file/azure_file.go index 21075784bde..e81d10de85f 100644 --- a/pkg/volume/azure_file/azure_file.go +++ b/pkg/volume/azure_file/azure_file.go @@ -222,7 +222,7 @@ func (b *azureFileMounter) SetUpAt(dir string, fsGroup *int64) error { } else { os.MkdirAll(dir, 0700) // parameters suggested by https://azure.microsoft.com/en-us/documentation/articles/storage-how-to-use-files-linux/ - options := []string{fmt.Sprintf("vers=3.0,username=%s,password=%s", accountName, accountKey)} + options := []string{fmt.Sprintf("username=%s,password=%s", accountName, accountKey)} if b.readOnly { options = append(options, "ro") } diff --git a/pkg/volume/azure_file/azure_file_test.go b/pkg/volume/azure_file/azure_file_test.go index 57ff2537e0c..cc28b11f73d 100644 --- a/pkg/volume/azure_file/azure_file_test.go +++ b/pkg/volume/azure_file/azure_file_test.go @@ -368,19 +368,23 @@ func TestAppendDefaultMountOptions(t *testing.T) { }{ { options: []string{"dir_mode=0777"}, - expected: []string{"dir_mode=0777", fmt.Sprintf("%s=%s", fileModeName, defaultFileMode)}, + expected: []string{"dir_mode=0777", fmt.Sprintf("%s=%s", fileMode, defaultFileMode), fmt.Sprintf("%s=%s", vers, defaultVers)}, }, { options: []string{"file_mode=0777"}, - expected: []string{"file_mode=0777", fmt.Sprintf("%s=%s", dirModeName, defaultDirMode)}, + expected: []string{"file_mode=0777", fmt.Sprintf("%s=%s", dirMode, defaultDirMode), fmt.Sprintf("%s=%s", vers, defaultVers)}, + }, + { + options: []string{"vers=2.1"}, + expected: []string{"vers=2.1", fmt.Sprintf("%s=%s", fileMode, defaultFileMode), fmt.Sprintf("%s=%s", dirMode, defaultDirMode)}, }, { options: []string{""}, - expected: []string{"", fmt.Sprintf("%s=%s", fileModeName, defaultFileMode), fmt.Sprintf("%s=%s", dirModeName, defaultDirMode)}, + expected: []string{"", fmt.Sprintf("%s=%s", fileMode, defaultFileMode), fmt.Sprintf("%s=%s", dirMode, defaultDirMode), fmt.Sprintf("%s=%s", vers, defaultVers)}, }, { options: []string{"file_mode=0777", "dir_mode=0777"}, - expected: []string{"file_mode=0777", "dir_mode=0777"}, + expected: []string{"file_mode=0777", "dir_mode=0777", fmt.Sprintf("%s=%s", vers, defaultVers)}, }, } diff --git a/pkg/volume/azure_file/azure_util.go b/pkg/volume/azure_file/azure_util.go index b414b1ca965..038d78518df 100644 --- a/pkg/volume/azure_file/azure_util.go +++ b/pkg/volume/azure_file/azure_util.go @@ -27,10 +27,12 @@ import ( ) const ( - fileModeName = "file_mode" - dirModeName = "dir_mode" - defaultFileMode = "700" - defaultDirMode = "700" + fileMode = "file_mode" + dirMode = "dir_mode" + vers = "vers" + defaultFileMode = "0700" + defaultDirMode = "0700" + defaultVers = "3.0" ) // Abstract interface to azure file operations. @@ -93,28 +95,35 @@ func (s *azureSvc) SetAzureCredentials(host volume.VolumeHost, nameSpace, accoun return secretName, err } -// check whether mountOptions contains file_mode and dir_mode, if not, append default mode +// check whether mountOptions contain file_mode and dir_mode, if not, append default mode func appendDefaultMountOptions(mountOptions []string) []string { fileModeFlag := false dirModeFlag := false + versFlag := false for _, mountOption := range mountOptions { - if strings.HasPrefix(mountOption, fileModeName) { + if strings.HasPrefix(mountOption, fileMode) { fileModeFlag = true } - if strings.HasPrefix(mountOption, dirModeName) { + if strings.HasPrefix(mountOption, dirMode) { dirModeFlag = true } + if strings.HasPrefix(mountOption, vers) { + versFlag = true + } } allMountOptions := mountOptions if !fileModeFlag { - allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%s", fileModeName, defaultFileMode)) + allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%s", fileMode, defaultFileMode)) } if !dirModeFlag { - allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%s", dirModeName, defaultDirMode)) + allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%s", dirMode, defaultDirMode)) } + if !versFlag { + allMountOptions = append(allMountOptions, fmt.Sprintf("%s=%s", vers, defaultVers)) + } return allMountOptions }