From dfcc141c91925c5cc7b04ed50bb9d51aa1b8b343 Mon Sep 17 00:00:00 2001 From: Eddie Zaneski Date: Wed, 5 Jan 2022 21:34:45 -0700 Subject: [PATCH] Improve error message for missing CRDs Signed-off-by: Eddie Zaneski --- staging/src/k8s.io/cli-runtime/pkg/resource/mapper.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/staging/src/k8s.io/cli-runtime/pkg/resource/mapper.go b/staging/src/k8s.io/cli-runtime/pkg/resource/mapper.go index 962f37711f5..5180610e206 100644 --- a/staging/src/k8s.io/cli-runtime/pkg/resource/mapper.go +++ b/staging/src/k8s.io/cli-runtime/pkg/resource/mapper.go @@ -20,6 +20,7 @@ import ( "fmt" "reflect" + "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" ) @@ -64,6 +65,10 @@ func (m *mapper) infoForData(data []byte, source string) (*Info, error) { } mapping, err := restMapper.RESTMapping(gvk.GroupKind(), gvk.Version) if err != nil { + if _, ok := err.(*meta.NoKindMatchError); ok { + return nil, fmt.Errorf("resource mapping not found for name: %q namespace: %q from %q: %v\nensure CRDs are installed first", + name, namespace, source, err) + } return nil, fmt.Errorf("unable to recognize %q: %v", source, err) } ret.Mapping = mapping