add namespace in azurefile volumeid

This commit is contained in:
andyzhangx 2022-01-27 09:29:13 +00:00
parent fdadc95d65
commit c2aba4901a
2 changed files with 15 additions and 14 deletions

View File

@ -34,7 +34,7 @@ const (
AzureFileInTreePluginName = "kubernetes.io/azure-file" AzureFileInTreePluginName = "kubernetes.io/azure-file"
separator = "#" separator = "#"
volumeIDTemplate = "%s#%s#%s#%s" volumeIDTemplate = "%s#%s#%s#%s#%s"
// Parameter names defined in azure file CSI driver, refer to // Parameter names defined in azure file CSI driver, refer to
// https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/docs/driver-parameters.md // https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/docs/driver-parameters.md
shareNameField = "sharename" shareNameField = "sharename"
@ -81,7 +81,7 @@ func (t *azureFileCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
if podNamespace != "" { if podNamespace != "" {
secretNamespace = podNamespace secretNamespace = podNamespace
} }
volumeID := fmt.Sprintf(volumeIDTemplate, "", accountName, azureSource.ShareName, volume.Name) volumeID := fmt.Sprintf(volumeIDTemplate, "", accountName, azureSource.ShareName, volume.Name, secretNamespace)
var ( var (
pv = &v1.PersistentVolume{ pv = &v1.PersistentVolume{
@ -129,7 +129,12 @@ func (t *azureFileCSITranslator) TranslateInTreePVToCSI(pv *v1.PersistentVolume)
resourceGroup = v resourceGroup = v
} }
} }
volumeID := fmt.Sprintf(volumeIDTemplate, resourceGroup, accountName, azureSource.ShareName, pv.ObjectMeta.Name) namespace := defaultSecretNamespace
if azureSource.SecretNamespace != nil {
namespace = *azureSource.SecretNamespace
}
volumeID := fmt.Sprintf(volumeIDTemplate, resourceGroup, accountName, azureSource.ShareName, pv.ObjectMeta.Name, namespace)
var ( var (
// refer to https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/docs/driver-parameters.md // refer to https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/docs/driver-parameters.md
@ -137,7 +142,7 @@ func (t *azureFileCSITranslator) TranslateInTreePVToCSI(pv *v1.PersistentVolume)
Driver: AzureFileDriverName, Driver: AzureFileDriverName,
NodeStageSecretRef: &v1.SecretReference{ NodeStageSecretRef: &v1.SecretReference{
Name: azureSource.SecretName, Name: azureSource.SecretName,
Namespace: defaultSecretNamespace, Namespace: namespace,
}, },
ReadOnly: azureSource.ReadOnly, ReadOnly: azureSource.ReadOnly,
VolumeAttributes: map[string]string{shareNameField: azureSource.ShareName}, VolumeAttributes: map[string]string{shareNameField: azureSource.ShareName},
@ -145,10 +150,6 @@ func (t *azureFileCSITranslator) TranslateInTreePVToCSI(pv *v1.PersistentVolume)
} }
) )
if azureSource.SecretNamespace != nil {
csiSource.NodeStageSecretRef.Namespace = *azureSource.SecretNamespace
}
pv.Spec.PersistentVolumeSource.AzureFile = nil pv.Spec.PersistentVolumeSource.AzureFile = nil
pv.Spec.PersistentVolumeSource.CSI = csiSource pv.Spec.PersistentVolumeSource.CSI = csiSource

View File

@ -131,7 +131,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
}, },
expVol: &corev1.PersistentVolume{ expVol: &corev1.PersistentVolume{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "#secretname#sharename#name", Name: "#secretname#sharename#name#default",
}, },
Spec: corev1.PersistentVolumeSpec{ Spec: corev1.PersistentVolumeSpec{
PersistentVolumeSource: corev1.PersistentVolumeSource{ PersistentVolumeSource: corev1.PersistentVolumeSource{
@ -143,7 +143,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
}, },
ReadOnly: true, ReadOnly: true,
VolumeAttributes: map[string]string{shareNameField: "sharename"}, VolumeAttributes: map[string]string{shareNameField: "sharename"},
VolumeHandle: "#secretname#sharename#name", VolumeHandle: "#secretname#sharename#name#default",
}, },
}, },
AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany}, AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany},
@ -165,7 +165,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
podNamespace: "test", podNamespace: "test",
expVol: &corev1.PersistentVolume{ expVol: &corev1.PersistentVolume{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "#secretname#sharename#name", Name: "#secretname#sharename#name#test",
}, },
Spec: corev1.PersistentVolumeSpec{ Spec: corev1.PersistentVolumeSpec{
PersistentVolumeSource: corev1.PersistentVolumeSource{ PersistentVolumeSource: corev1.PersistentVolumeSource{
@ -177,7 +177,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
}, },
ReadOnly: true, ReadOnly: true,
VolumeAttributes: map[string]string{shareNameField: "sharename"}, VolumeAttributes: map[string]string{shareNameField: "sharename"},
VolumeHandle: "#secretname#sharename#name", VolumeHandle: "#secretname#sharename#name#test",
}, },
}, },
AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany}, AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany},
@ -254,7 +254,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
Namespace: secretNamespace, Namespace: secretNamespace,
}, },
VolumeAttributes: map[string]string{shareNameField: "sharename"}, VolumeAttributes: map[string]string{shareNameField: "sharename"},
VolumeHandle: "#secretname#sharename#uuid", VolumeHandle: "#secretname#sharename#uuid#secretnamespace",
}, },
}, },
}, },
@ -293,7 +293,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
Namespace: secretNamespace, Namespace: secretNamespace,
}, },
VolumeAttributes: map[string]string{shareNameField: "sharename"}, VolumeAttributes: map[string]string{shareNameField: "sharename"},
VolumeHandle: "rg#secretname#sharename#uuid", VolumeHandle: "rg#secretname#sharename#uuid#secretnamespace",
}, },
}, },
}, },