Remove duplicate describer errs

The `describe` command iterates through a list of infos received from the server and aggregates a list of errors while attempting to call each resource's respective describer. When a resource exists, but does not have a describer set, such as `Event`, the `describe` command outputs the same error `error: no description has been implemented for "Event"` for each info. ``` $ kubectl describe events no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" no description has been implemented for "Event" ```
parent 3bd87044
......@@ -31,6 +31,7 @@ import (
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/runtime"
utilerrors "k8s.io/kubernetes/pkg/util/errors"
"k8s.io/kubernetes/pkg/util/sets"
)
var (
......@@ -133,17 +134,26 @@ func RunDescribe(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, a
allErrs = append(allErrs, err)
}
errs := sets.NewString()
first := true
for _, info := range infos {
mapping := info.ResourceMapping()
describer, err := f.Describer(mapping)
if err != nil {
if errs.Has(err.Error()) {
continue
}
allErrs = append(allErrs, err)
errs.Insert(err.Error())
continue
}
s, err := describer.Describe(info.Namespace, info.Name, *describerSettings)
if err != nil {
if errs.Has(err.Error()) {
continue
}
allErrs = append(allErrs, err)
errs.Insert(err.Error())
continue
}
if first {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment