diff --git a/pkg/migrate/migrate_test.go b/pkg/migrate/migrate_test.go index 8bebebb..f13c2e6 100644 --- a/pkg/migrate/migrate_test.go +++ b/pkg/migrate/migrate_test.go @@ -2353,7 +2353,7 @@ func Test_scaleDownPods(t *testing.T) { }, }, { - name: "existing statefulset pod", + name: "existing multi-volume statefulset pod", matchingPVCs: map[string][]*corev1.PersistentVolumeClaim{ "ns1": { &corev1.PersistentVolumeClaim{ @@ -2369,6 +2369,19 @@ func Test_scaleDownPods(t *testing.T) { VolumeName: "sourcepv", }, }, + &corev1.PersistentVolumeClaim{ + TypeMeta: metav1.TypeMeta{ + Kind: "PersistentVolumeClaim", + APIVersion: "v1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "secondpvc", + Namespace: "ns1", + }, + Spec: corev1.PersistentVolumeClaimSpec{ + VolumeName: "secondpv", + }, + }, }, }, resources: []runtime.Object{ @@ -2413,6 +2426,15 @@ func Test_scaleDownPods(t *testing.T) { }, }, }, + { + Name: "secondmatchingVolume", + VolumeSource: corev1.VolumeSource{ + PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{ + ClaimName: "secondpvc", + ReadOnly: false, + }, + }, + }, }, }, Status: corev1.PodStatus{}, @@ -2435,6 +2457,24 @@ func Test_scaleDownPods(t *testing.T) { Name: "sourcepv", }, }, + &corev1.PersistentVolumeClaim{ + TypeMeta: metav1.TypeMeta{ + Kind: "PersistentVolumeClaim", + APIVersion: "v1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "secondpvc", + Namespace: "ns1", + }, + Spec: corev1.PersistentVolumeClaimSpec{ + VolumeName: "secondpv", + }, + }, + &corev1.PersistentVolume{ + ObjectMeta: metav1.ObjectMeta{ + Name: "secondpv", + }, + }, }, wantPods: map[string][]corev1.Pod{ "ns1": nil, @@ -2478,9 +2518,30 @@ func Test_scaleDownPods(t *testing.T) { VolumeName: "sourcepv", }, }, + &corev1.PersistentVolumeClaim{ + TypeMeta: metav1.TypeMeta{ + Kind: "PersistentVolumeClaim", + APIVersion: "v1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "secondpvc", + Namespace: "ns1", + }, + Spec: corev1.PersistentVolumeClaimSpec{ + VolumeName: "secondpv", + }, + }, }, }, wantPVs: []corev1.PersistentVolume{ + { + ObjectMeta: metav1.ObjectMeta{ + Name: "secondpv", + Annotations: map[string]string{ + sourceNodeAnnotation: "statefulset", + }, + }, + }, { ObjectMeta: metav1.ObjectMeta{ Name: "sourcepv",