From 8f5eaefd890d0895e8b8748a207ab8d456dffa2d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 28 Apr 2022 16:33:28 +0800 Subject: [PATCH] Fix: kubectl check err (#3779) Signed-off-by: Somefive (cherry picked from commit 3bbcbe0e6f139bc70d6f79128b9baf68315238c3) Co-authored-by: Somefive --- pkg/cmd/builder.go | 3 ++- pkg/cmd/factory.go | 3 ++- pkg/cmd/util/helpers.go | 32 ++++++++++++++++++++++++++++++++ pkg/cmd/utils.go | 2 +- references/cli/up.go | 2 +- 5 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 pkg/cmd/util/helpers.go diff --git a/pkg/cmd/builder.go b/pkg/cmd/builder.go index 0db987a08..61b097116 100644 --- a/pkg/cmd/builder.go +++ b/pkg/cmd/builder.go @@ -18,8 +18,9 @@ package cmd import ( "github.com/spf13/cobra" - cmdutil "k8s.io/kubectl/pkg/cmd/util" "k8s.io/kubectl/pkg/util/term" + + cmdutil "github.com/oam-dev/kubevela/pkg/cmd/util" ) // Builder build command with factory diff --git a/pkg/cmd/factory.go b/pkg/cmd/factory.go index 9a9f159e4..3e21ecc49 100644 --- a/pkg/cmd/factory.go +++ b/pkg/cmd/factory.go @@ -17,8 +17,9 @@ limitations under the License. package cmd import ( - cmdutil "k8s.io/kubectl/pkg/cmd/util" "sigs.k8s.io/controller-runtime/pkg/client" + + cmdutil "github.com/oam-dev/kubevela/pkg/cmd/util" ) // Factory client factory for running command diff --git a/pkg/cmd/util/helpers.go b/pkg/cmd/util/helpers.go new file mode 100644 index 000000000..33defdaf1 --- /dev/null +++ b/pkg/cmd/util/helpers.go @@ -0,0 +1,32 @@ +/* +Copyright 2022 The KubeVela Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package util + +import ( + "github.com/pkg/errors" + cmdutil "k8s.io/kubectl/pkg/cmd/util" +) + +// CheckErr wraps the kubectl CheckErr func by preventing inappropriate type conversion and panic +func CheckErr(err error) { + defer func() { + if r := recover(); r != nil { + cmdutil.CheckErr(errors.New(err.Error())) + } + }() + cmdutil.CheckErr(err) +} diff --git a/pkg/cmd/utils.go b/pkg/cmd/utils.go index f846e8c30..cf80e0df0 100644 --- a/pkg/cmd/utils.go +++ b/pkg/cmd/utils.go @@ -18,9 +18,9 @@ package cmd import ( "github.com/spf13/cobra" - cmdutil "k8s.io/kubectl/pkg/cmd/util" "github.com/oam-dev/kubevela/apis/types" + cmdutil "github.com/oam-dev/kubevela/pkg/cmd/util" "github.com/oam-dev/kubevela/pkg/utils/common" "github.com/oam-dev/kubevela/pkg/utils/env" ) diff --git a/references/cli/up.go b/references/cli/up.go index ddecf6858..497c5a51d 100644 --- a/references/cli/up.go +++ b/references/cli/up.go @@ -23,7 +23,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" apitypes "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/util/retry" - cmdutil "k8s.io/kubectl/pkg/cmd/util" "k8s.io/kubectl/pkg/util/i18n" "k8s.io/kubectl/pkg/util/templates" "sigs.k8s.io/controller-runtime/pkg/client" @@ -33,6 +32,7 @@ import ( "github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1" "github.com/oam-dev/kubevela/apis/types" velacmd "github.com/oam-dev/kubevela/pkg/cmd" + cmdutil "github.com/oam-dev/kubevela/pkg/cmd/util" "github.com/oam-dev/kubevela/pkg/component" "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2/application" "github.com/oam-dev/kubevela/pkg/controller/utils"