mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
fix: azurefile volumeid conflict in csi migration
This commit is contained in:
parent
7bde4baac4
commit
fdadc95d65
@ -107,7 +107,7 @@ func (t *azureDiskCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
// Must be unique per disk as it is used as the unique part of the
|
||||
// staging path
|
||||
Name: fmt.Sprintf("%s-%s", AzureDiskDriverName, azureSource.DiskName),
|
||||
Name: azureSource.DataDiskURI,
|
||||
},
|
||||
Spec: v1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: v1.PersistentVolumeSource{
|
||||
|
@ -128,7 +128,7 @@ func TestTranslateAzureDiskInTreeStorageClassToCSI(t *testing.T) {
|
||||
},
|
||||
expVol: &corev1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "disk.csi.azure.com-diskname",
|
||||
Name: "datadiskuri",
|
||||
},
|
||||
Spec: corev1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: corev1.PersistentVolumeSource{
|
||||
|
@ -81,19 +81,19 @@ func (t *azureFileCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
|
||||
if podNamespace != "" {
|
||||
secretNamespace = podNamespace
|
||||
}
|
||||
volumeID := fmt.Sprintf(volumeIDTemplate, "", accountName, azureSource.ShareName, volume.Name)
|
||||
|
||||
var (
|
||||
pv = &v1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
// Must be unique per disk as it is used as the unique part of the
|
||||
// staging path
|
||||
Name: fmt.Sprintf("%s-%s", AzureFileDriverName, azureSource.ShareName),
|
||||
// Must be unique as it is used as the unique part of the staging path
|
||||
Name: volumeID,
|
||||
},
|
||||
Spec: v1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: v1.PersistentVolumeSource{
|
||||
CSI: &v1.CSIPersistentVolumeSource{
|
||||
Driver: AzureFileDriverName,
|
||||
VolumeHandle: fmt.Sprintf(volumeIDTemplate, "", accountName, azureSource.ShareName, ""),
|
||||
VolumeHandle: volumeID,
|
||||
ReadOnly: azureSource.ReadOnly,
|
||||
VolumeAttributes: map[string]string{shareNameField: azureSource.ShareName},
|
||||
NodeStageSecretRef: &v1.SecretReference{
|
||||
@ -129,7 +129,7 @@ func (t *azureFileCSITranslator) TranslateInTreePVToCSI(pv *v1.PersistentVolume)
|
||||
resourceGroup = v
|
||||
}
|
||||
}
|
||||
volumeID := fmt.Sprintf(volumeIDTemplate, resourceGroup, accountName, azureSource.ShareName, "")
|
||||
volumeID := fmt.Sprintf(volumeIDTemplate, resourceGroup, accountName, azureSource.ShareName, pv.ObjectMeta.Name)
|
||||
|
||||
var (
|
||||
// refer to https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/docs/driver-parameters.md
|
||||
|
@ -120,6 +120,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
|
||||
{
|
||||
name: "azure file volume",
|
||||
volume: &corev1.Volume{
|
||||
Name: "name",
|
||||
VolumeSource: corev1.VolumeSource{
|
||||
AzureFile: &corev1.AzureFileVolumeSource{
|
||||
ReadOnly: true,
|
||||
@ -130,7 +131,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
|
||||
},
|
||||
expVol: &corev1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "file.csi.azure.com-sharename",
|
||||
Name: "#secretname#sharename#name",
|
||||
},
|
||||
Spec: corev1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: corev1.PersistentVolumeSource{
|
||||
@ -142,7 +143,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
|
||||
},
|
||||
ReadOnly: true,
|
||||
VolumeAttributes: map[string]string{shareNameField: "sharename"},
|
||||
VolumeHandle: "#secretname#sharename#",
|
||||
VolumeHandle: "#secretname#sharename#name",
|
||||
},
|
||||
},
|
||||
AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany},
|
||||
@ -152,6 +153,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
|
||||
{
|
||||
name: "azure file volume with a pod namespace",
|
||||
volume: &corev1.Volume{
|
||||
Name: "name",
|
||||
VolumeSource: corev1.VolumeSource{
|
||||
AzureFile: &corev1.AzureFileVolumeSource{
|
||||
ReadOnly: true,
|
||||
@ -163,7 +165,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
|
||||
podNamespace: "test",
|
||||
expVol: &corev1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "file.csi.azure.com-sharename",
|
||||
Name: "#secretname#sharename#name",
|
||||
},
|
||||
Spec: corev1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: corev1.PersistentVolumeSource{
|
||||
@ -175,7 +177,7 @@ func TestTranslateAzureFileInTreeStorageClassToCSI(t *testing.T) {
|
||||
},
|
||||
ReadOnly: true,
|
||||
VolumeAttributes: map[string]string{shareNameField: "sharename"},
|
||||
VolumeHandle: "#secretname#sharename#",
|
||||
VolumeHandle: "#secretname#sharename#name",
|
||||
},
|
||||
},
|
||||
AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany},
|
||||
@ -225,7 +227,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
|
||||
name: "azure file volume",
|
||||
volume: &corev1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "file.csi.azure.com-sharename",
|
||||
Name: "uuid",
|
||||
},
|
||||
Spec: corev1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: corev1.PersistentVolumeSource{
|
||||
@ -240,7 +242,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
|
||||
},
|
||||
expVol: &corev1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "file.csi.azure.com-sharename",
|
||||
Name: "uuid",
|
||||
},
|
||||
Spec: corev1.PersistentVolumeSpec{
|
||||
PersistentVolumeSource: corev1.PersistentVolumeSource{
|
||||
@ -252,7 +254,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
|
||||
Namespace: secretNamespace,
|
||||
},
|
||||
VolumeAttributes: map[string]string{shareNameField: "sharename"},
|
||||
VolumeHandle: "#secretname#sharename#",
|
||||
VolumeHandle: "#secretname#sharename#uuid",
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -262,7 +264,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
|
||||
name: "azure file volume with rg annotation",
|
||||
volume: &corev1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "file.csi.azure.com-sharename",
|
||||
Name: "uuid",
|
||||
Annotations: map[string]string{resourceGroupAnnotation: "rg"},
|
||||
},
|
||||
Spec: corev1.PersistentVolumeSpec{
|
||||
@ -278,7 +280,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
|
||||
},
|
||||
expVol: &corev1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "file.csi.azure.com-sharename",
|
||||
Name: "uuid",
|
||||
Annotations: map[string]string{resourceGroupAnnotation: "rg"},
|
||||
},
|
||||
Spec: corev1.PersistentVolumeSpec{
|
||||
@ -291,7 +293,7 @@ func TestTranslateAzureFileInTreePVToCSI(t *testing.T) {
|
||||
Namespace: secretNamespace,
|
||||
},
|
||||
VolumeAttributes: map[string]string{shareNameField: "sharename"},
|
||||
VolumeHandle: "rg#secretname#sharename#",
|
||||
VolumeHandle: "rg#secretname#sharename#uuid",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user