diff --git a/pkg/registry/etcd/etcd.go b/pkg/registry/etcd/etcd.go index d372f75bea4..d2bd576cb52 100644 --- a/pkg/registry/etcd/etcd.go +++ b/pkg/registry/etcd/etcd.go @@ -347,7 +347,17 @@ func (r *Registry) WatchControllers(ctx api.Context, label, field labels.Selecto } match := label.Matches(labels.Set(controller.Labels)) if match { - pods, _ := r.ListPods(ctx, labels.Set(controller.Spec.Selector).AsSelector()) + pods, err := r.ListPods(ctx, labels.Set(controller.Spec.Selector).AsSelector()) + if err != nil { + glog.Warningf("Error listing pods: %v", err) + // No object that's useable so drop it on the floor + return false + } + if pods == nil { + glog.Warningf("Pods list is nil. This should never happen...") + // No object that's useable so drop it on the floor + return false + } controller.Status.Replicas = len(pods.Items) } return match