From 748e7e6f3dea1de9542627553136e5d8e59599b6 Mon Sep 17 00:00:00 2001 From: interma Date: Fri, 10 Aug 2018 14:38:49 +0800 Subject: [PATCH] Prompt to install CRD manually when Kind no found --- pkg/scaffold/manager/cmd.go | 10 ++++++++-- test/cmd/manager/main.go | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pkg/scaffold/manager/cmd.go b/pkg/scaffold/manager/cmd.go index 9c5998c01..6f96f3248 100644 --- a/pkg/scaffold/manager/cmd.go +++ b/pkg/scaffold/manager/cmd.go @@ -46,6 +46,7 @@ import ( "log" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" + "k8s.io/apimachinery/pkg/api/meta" "sigs.k8s.io/controller-runtime/pkg/client/config" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/runtime/signals" @@ -70,12 +71,17 @@ func main() { // Setup Scheme for all resources if err := apis.AddToScheme(mgr.GetScheme()); err != nil { - log.Fatal(err) + log.Fatalf("Add apis failed, error: %#v.", err) } // Setup all Controllers if err := controller.AddToManager(mgr); err != nil { - log.Fatal(err) + switch err.(type) { + case *meta.NoKindMatchError: + log.Fatalf("No kind %v found, please install CRD in advance.", err.(*meta.NoKindMatchError).GroupKind) + default: + log.Fatalf("Add controller failed, error: %#v.", err) + } } log.Printf("Starting the Cmd.") diff --git a/test/cmd/manager/main.go b/test/cmd/manager/main.go index c05b7462c..ab3d670e3 100644 --- a/test/cmd/manager/main.go +++ b/test/cmd/manager/main.go @@ -19,6 +19,7 @@ package main import ( "log" + "k8s.io/apimachinery/pkg/api/meta" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" "sigs.k8s.io/controller-runtime/pkg/client/config" "sigs.k8s.io/controller-runtime/pkg/manager" @@ -44,12 +45,17 @@ func main() { // Setup Scheme for all resources if err := apis.AddToScheme(mgr.GetScheme()); err != nil { - log.Fatal(err) + log.Fatalf("Add apis failed, error: %#v.", err) } // Setup all Controllers if err := controller.AddToManager(mgr); err != nil { - log.Fatal(err) + switch err.(type) { + case *meta.NoKindMatchError: + log.Fatalf("No kind %v found, please install CRD in advance.", err.(*meta.NoKindMatchError).GroupKind) + default: + log.Fatalf("Add controller failed, error: %#v.", err) + } } log.Printf("Starting the Cmd.")