This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 65a9e7cd39a3455ed254383106010879af98b3e9 Author: Nicola Ferraro <[email protected]> AuthorDate: Mon Feb 10 18:02:46 2020 +0100 Fix #1223: fix lint --- pkg/cmd/install.go | 10 ++++++---- pkg/cmd/uninstall.go | 5 +++-- pkg/util/olm/available.go | 5 ++--- pkg/util/olm/operator.go | 17 ++++++++--------- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/pkg/cmd/install.go b/pkg/cmd/install.go index eee8a8f..42c5128 100644 --- a/pkg/cmd/install.go +++ b/pkg/cmd/install.go @@ -102,8 +102,10 @@ func newCmdInstall(rootCmdOptions *RootCmdOptions) (*cobra.Command, *installCmdO cmd.Flags().String("olm-channel", olm.DefaultChannel, "Name of the Camel K channel in the OLM source or marketplace") cmd.Flags().String("olm-source", olm.DefaultSource, "Name of the OLM source providing the Camel K package (defaults to the standard Operator Hub source)") cmd.Flags().String("olm-source-namespace", olm.DefaultSourceNamespace, "Namespace where the OLM source is available") - cmd.Flags().String("olm-starting-csv", olm.DefaultStartingCSV, "Allow to install a specific version from the operator source instead of latest available from the channel") - cmd.Flags().String("olm-global-namespace", olm.DefaultGlobalNamespace, "A namespace containing an OperatorGroup that defines global scope for the operator (used in combination with the --global flag)") + cmd.Flags().String("olm-starting-csv", olm.DefaultStartingCSV, "Allow to install a specific version from the operator source instead of latest available "+ + "from the channel") + cmd.Flags().String("olm-global-namespace", olm.DefaultGlobalNamespace, "A namespace containing an OperatorGroup that defines global scope for the "+ + "operator (used in combination with the --global flag)") // maven settings cmd.Flags().String("local-repository", "", "Location of the local maven repository") @@ -174,7 +176,7 @@ func (o *installCmdOptions) install(cobraCmd *cobra.Command, _ []string) error { return err } var olmAvailable bool - if olmAvailable, err = olm.IsAvailable(o.Context, olmClient, o.Namespace); err != nil { + if olmAvailable, err = olm.IsAPIAvailable(o.Context, olmClient, o.Namespace); err != nil { return errors.Wrap(err, "error while checking OLM availability. Run with '--olm=false' to skip this check") } @@ -183,7 +185,7 @@ func (o *installCmdOptions) install(cobraCmd *cobra.Command, _ []string) error { return errors.Wrap(err, "error while checking permissions to install operator via OLM. Run with '--olm=false' to skip this check") } if !installViaOLM { - fmt.Fprintln(cobraCmd.OutOrStdout(), "OLM is available but current user has not enough permissions to create the operator. " + + fmt.Fprintln(cobraCmd.OutOrStdout(), "OLM is available but current user has not enough permissions to create the operator. "+ "You can either ask your administrator to provide permissions (preferred) or run the install command with the `--olm=false` flag.") os.Exit(1) } diff --git a/pkg/cmd/uninstall.go b/pkg/cmd/uninstall.go index 11462f8..ab264b4 100644 --- a/pkg/cmd/uninstall.go +++ b/pkg/cmd/uninstall.go @@ -55,7 +55,8 @@ func newCmdUninstall(rootCmdOptions *RootCmdOptions) (*cobra.Command, *uninstall cmd.Flags().BoolVar(&options.olmEnabled, "olm", true, "Try to uninstall via OLM (Operator Lifecycle Manager) if available") cmd.Flags().StringVar(&options.olmOptions.OperatorName, "olm-operator-name", olm.DefaultOperatorName, "Name of the Camel K operator in the OLM source or marketplace") cmd.Flags().StringVar(&options.olmOptions.Package, "olm-package", olm.DefaultPackage, "Name of the Camel K package in the OLM source or marketplace") - cmd.Flags().StringVar(&options.olmOptions.GlobalNamespace, "olm-global-namespace", olm.DefaultGlobalNamespace, "A namespace containing an OperatorGroup that defines global scope for the operator (used in combination with the --global flag)") + cmd.Flags().StringVar(&options.olmOptions.GlobalNamespace, "olm-global-namespace", olm.DefaultGlobalNamespace, "A namespace containing an OperatorGroup that defines "+ + "global scope for the operator (used in combination with the --global flag)") // completion support configureBashAnnotationForFlag( @@ -99,7 +100,7 @@ func (o *uninstallCmdOptions) uninstall(cmd *cobra.Command, _ []string) error { uninstallViaOLM := false if o.olmEnabled { var err error - if uninstallViaOLM, err = olm.IsAvailable(o.Context, c, o.Namespace); err != nil { + if uninstallViaOLM, err = olm.IsAPIAvailable(o.Context, c, o.Namespace); err != nil { return errors.Wrap(err, "error while checking OLM availability. Run with '--olm=false' to skip this check") } diff --git a/pkg/util/olm/available.go b/pkg/util/olm/available.go index 3c1d627..eb4b7da 100644 --- a/pkg/util/olm/available.go +++ b/pkg/util/olm/available.go @@ -20,7 +20,6 @@ package olm import ( "context" - "github.com/apache/camel-k/pkg/client" kubernetesutils "github.com/apache/camel-k/pkg/util/kubernetes" olmv1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1" olmv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1" @@ -29,10 +28,10 @@ import ( "k8s.io/client-go/kubernetes" ) -// IsAvailable returns true if we are connected to a cluster with OLM installed +// IsAPIAvailable returns true if we are connected to a cluster with OLM installed // // This method should not be called from the operator, as it might require permissions that are not available. -func IsAvailable(ctx context.Context, c client.Client, namespace string) (bool, error) { +func IsAPIAvailable(ctx context.Context, c kubernetes.Interface, namespace string) (bool, error) { // check some Knative APIs for _, api := range getOLMGroupVersions() { if installed, err := isAvailable(c, api); err != nil { diff --git a/pkg/util/olm/operator.go b/pkg/util/olm/operator.go index 73a84e4..a85c414 100644 --- a/pkg/util/olm/operator.go +++ b/pkg/util/olm/operator.go @@ -135,6 +135,7 @@ func HasPermissionToInstall(ctx context.Context, client client.Client, namespace return true, nil } +// nolint:unparam func checkPermission(client client.Client, group, resource, namespace, name, verb string) (bool, error) { sarReview := &authorizationv1.SelfSubjectAccessReview{ Spec: authorizationv1.SelfSubjectAccessReviewSpec{ @@ -191,10 +192,8 @@ func Install(ctx context.Context, client client.Client, namespace string, global } if collection != nil { collection.Add(&sub) - } else { - if err := client.Create(ctx, &sub); err != nil { - return false, err - } + } else if err := client.Create(ctx, &sub); err != nil { + return false, err } if !global { @@ -214,11 +213,10 @@ func Install(ctx context.Context, client client.Client, namespace string, global } if collection != nil { collection.Add(group) - } else { - if err := client.Create(ctx, group); err != nil { - return false, errors.Wrap(err, fmt.Sprintf("namespace %s has no operator group defined and current user is not able to create it. "+ - "Make sure you have the right roles to install operators from OLM", namespace)) - } + } else if err := client.Create(ctx, group); err != nil { + return false, errors.Wrap(err, fmt.Sprintf("namespace %s has no operator group defined and "+ + "current user is not able to create it. "+ + "Make sure you have the right roles to install operators from OLM", namespace)) } } } @@ -282,6 +280,7 @@ func findCSV(ctx context.Context, client client.Client, namespace string, option return nil, nil } +// nolint:unparam func findOperatorGroup(ctx context.Context, client client.Client, namespace string, options Options) (*olmv1.OperatorGroup, error) { opGroupList := olmv1.OperatorGroupList{} if err := client.List(ctx, &opGroupList, runtime.InNamespace(namespace)); err != nil {
