diff --git a/plugin/kubernetes/controller.go b/plugin/kubernetes/controller.go index 6124a19cb..634735584 100644 --- a/plugin/kubernetes/controller.go +++ b/plugin/kubernetes/controller.go @@ -214,6 +214,10 @@ func podListFunc(c kubernetes.Interface, ns string, s labels.Selector) func(meta if s != nil { opts.LabelSelector = s.String() } + if len(opts.FieldSelector) > 0 { + opts.FieldSelector = opts.FieldSelector + "," + } + opts.FieldSelector = opts.FieldSelector + "status.phase!=Succeeded,status.phase!=Failed,status.phase!=Unknown" listV1, err := c.CoreV1().Pods(ns).List(opts) return listV1, err } diff --git a/plugin/kubernetes/watch.go b/plugin/kubernetes/watch.go index 52529a6b0..fd6e68c8c 100644 --- a/plugin/kubernetes/watch.go +++ b/plugin/kubernetes/watch.go @@ -22,6 +22,10 @@ func podWatchFunc(c kubernetes.Interface, ns string, s labels.Selector) func(opt if s != nil { options.LabelSelector = s.String() } + if len(options.FieldSelector) > 0 { + options.FieldSelector = options.FieldSelector + "," + } + options.FieldSelector = options.FieldSelector + "status.phase!=Succeeded,status.phase!=Failed,status.phase!=Unknown" w, err := c.CoreV1().Pods(ns).Watch(options) return w, err }