diff --git a/pkg/kubectl/cmd/get.go b/pkg/kubectl/cmd/get.go index b0ed2438a1..b34d0b0236 100644 --- a/pkg/kubectl/cmd/get.go +++ b/pkg/kubectl/cmd/get.go @@ -31,6 +31,7 @@ import ( "k8s.io/kubernetes/pkg/runtime" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/interrupt" + "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/watch" ) @@ -386,6 +387,7 @@ func RunGet(f cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args [ } allErrs := []error{} + errs := sets.NewString() infos, err := r.Infos() if err != nil { allErrs = append(allErrs, err) @@ -438,7 +440,10 @@ func RunGet(f cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args [ } printer, err = f.PrinterForMapping(cmd, mapping, allNamespaces) if err != nil { - allErrs = append(allErrs, err) + if !errs.Has(err.Error()) { + errs.Insert(err.Error()) + allErrs = append(allErrs, err) + } continue } @@ -458,7 +463,10 @@ func RunGet(f cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args [ filteredResourceCount++ continue } - allErrs = append(allErrs, err) + if !errs.Has(err.Error()) { + errs.Insert(err.Error()) + allErrs = append(allErrs, err) + } } if resourcePrinter, found := printer.(*kubectl.HumanReadablePrinter); found { @@ -481,12 +489,18 @@ func RunGet(f cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args [ } if err := printer.PrintObj(original, w); err != nil { - allErrs = append(allErrs, err) + if !errs.Has(err.Error()) { + errs.Insert(err.Error()) + allErrs = append(allErrs, err) + } } continue } if err := printer.PrintObj(original, w); err != nil { - allErrs = append(allErrs, err) + if !errs.Has(err.Error()) { + errs.Insert(err.Error()) + allErrs = append(allErrs, err) + } continue } }