diff --git a/pkg/controller/statefulset/stateful_set_control_test.go b/pkg/controller/statefulset/stateful_set_control_test.go index f018646d3af..08af86bedc4 100644 --- a/pkg/controller/statefulset/stateful_set_control_test.go +++ b/pkg/controller/statefulset/stateful_set_control_test.go @@ -2933,6 +2933,7 @@ func TestParallelScale(t *testing.T) { } { t.Run(tc.desc, func(t *testing.T) { set := burst(newStatefulSet(0)) + set.Spec.VolumeClaimTemplates[0].ObjectMeta.Labels = map[string]string{"test": "test"} parallelScale(t, set, tc.replicas, tc.desiredReplicas, assertBurstInvariants) }) } diff --git a/pkg/controller/statefulset/stateful_set_utils.go b/pkg/controller/statefulset/stateful_set_utils.go index 6898aabe56e..5a80f368386 100644 --- a/pkg/controller/statefulset/stateful_set_utils.go +++ b/pkg/controller/statefulset/stateful_set_utils.go @@ -339,8 +339,8 @@ func getPersistentVolumeClaims(set *apps.StatefulSet, pod *v1.Pod) map[string]v1 templates := set.Spec.VolumeClaimTemplates claims := make(map[string]v1.PersistentVolumeClaim, len(templates)) for i := range templates { - claim := templates[i] - claim.Name = getPersistentVolumeClaimName(set, &claim, ordinal) + claim := templates[i].DeepCopy() + claim.Name = getPersistentVolumeClaimName(set, claim, ordinal) claim.Namespace = set.Namespace if claim.Labels != nil { for key, value := range set.Spec.Selector.MatchLabels { @@ -349,7 +349,7 @@ func getPersistentVolumeClaims(set *apps.StatefulSet, pod *v1.Pod) map[string]v1 } else { claim.Labels = set.Spec.Selector.MatchLabels } - claims[templates[i].Name] = claim + claims[templates[i].Name] = *claim } return claims }