Skip to content

Commit 7cfab9a

Browse files
committed
Instead of adding our own label, reuse Statefulset selector
This removes the need for the mostly redundant "name" label. Signed-off-by: György Krajcsovits <[email protected]>
1 parent f4b3ab0 commit 7cfab9a

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

pkg/controller/controller.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/prometheus/client_golang/prometheus"
1313
"github.com/prometheus/client_golang/prometheus/promauto"
1414
"go.uber.org/atomic"
15+
helpers "k8s.io.apimachinery/pkg/apis/meta/v1/helpers"
1516
v1 "k8s.io/api/apps/v1"
1617
corev1 "k8s.io/api/core/v1"
1718
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -395,11 +396,16 @@ func (c *RolloutController) podsNotMatchingUpdateRevision(sts *v1.StatefulSet) (
395396
return nil, errors.New("updateRevision is empty")
396397
}
397398

398-
// Get any pods whose revision doesn't match the StatefulSet's updateRevision
399+
// Create selector for all the pods selected by the Statefulset
400+
podsSelector, err := helpers.LabelSelectorAsSelector(sts.Spec.Selector)
401+
if err != nil {
402+
panic(err)
403+
}
404+
405+
// Filter pods whose revision doesn't match the StatefulSet's updateRevision
399406
// and so it means they still need to be updated.
400-
podsSelector := labels.NewSelector().Add(
407+
podsSelector.Add(
401408
mustNewLabelsRequirement(v1.ControllerRevisionHashLabelKey, selection.NotEquals, []string{updateRev}),
402-
mustNewLabelsRequirement("name", selection.Equals, []string{sts.Spec.Template.Labels["name"]}),
403409
)
404410

405411
pods, err := c.listPods(podsSelector)

0 commit comments

Comments
 (0)