You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2021/01/25 16:00:18 UTC

[camel-k] 02/03: chore(cli): Improve message when operator version from the platform is empty

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 092d2ee712b824623a77d223ee9607f11571108e
Author: Antonin Stefanutti <an...@stefanutti.fr>
AuthorDate: Mon Jan 25 11:25:25 2021 +0100

    chore(cli): Improve message when operator version from the platform is empty
---
 pkg/cmd/version.go | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/pkg/cmd/version.go b/pkg/cmd/version.go
index 6ec8174..eeb3729 100644
--- a/pkg/cmd/version.go
+++ b/pkg/cmd/version.go
@@ -22,11 +22,13 @@ import (
 	"fmt"
 
 	"github.com/Masterminds/semver"
+	"github.com/spf13/cobra"
+
+	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
+
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/client"
 	"github.com/apache/camel-k/pkg/util/defaults"
-	"github.com/spf13/cobra"
-	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
 )
 
 // VersionVariant may be overridden at build time
@@ -65,13 +67,13 @@ func (o *versionCmdOptions) preRunE(cmd *cobra.Command, args []string) error {
 	return o.RootCmdOptions.preRun(cmd, args)
 }
 
-func (o *versionCmdOptions) run(cmd *cobra.Command, _ []string) error {
+func (o *versionCmdOptions) run(_ *cobra.Command, _ []string) error {
 	if o.Operator {
-		client, err := o.GetCmdClient()
+		c, err := o.GetCmdClient()
 		if err != nil {
 			return err
 		}
-		displayOperatorVersion(o.Context, client, o.Namespace)
+		displayOperatorVersion(o.Context, c, o.Namespace)
 	} else {
 		displayClientVersion()
 	}
@@ -88,10 +90,14 @@ func displayClientVersion() {
 
 func displayOperatorVersion(ctx context.Context, c client.Client, namespace string) {
 	operatorVersion, err := operatorVersion(ctx, c, namespace)
-	if err == nil {
-		fmt.Printf("Camel K Operator %s\n", operatorVersion)
+	if err != nil {
+		fmt.Printf("Unable to retrieve operator version: %s\n", err)
 	} else {
-		fmt.Printf("Error while looking for camel-k operator in namespace %s (%s)\n", namespace, err)
+		if operatorVersion == "" {
+		  fmt.Printf("Unable to retrieve operator version: The IntegrationPlatform resource hasn't been reconciled yet!")
+		} else {
+		  fmt.Printf("Camel K Operator %s\n", operatorVersion)
+		}
 	}
 }
 
@@ -110,16 +116,16 @@ func operatorVersion(ctx context.Context, c client.Client, namespace string) (st
 }
 
 func compatibleVersions(aVersion, bVersion string) bool {
-	v1, err := semver.NewVersion(aVersion)
+	a, err := semver.NewVersion(aVersion)
 	if err != nil {
-		fmt.Printf("Could not parse %s (error: %s)\n", v1, err)
+		fmt.Printf("Could not parse %s (error: %s)\n", a, err)
 		return false
 	}
-	v2, err := semver.NewVersion(bVersion)
+	b, err := semver.NewVersion(bVersion)
 	if err != nil {
-		fmt.Printf("Could not parse %s (error: %s)\n", v2, err)
+		fmt.Printf("Could not parse %s (error: %s)\n", b, err)
 		return false
 	}
 	// We consider compatible when major and minor are equals
-	return v1.Major() == v2.Major() && v1.Minor() == v2.Minor()
+	return a.Major() == b.Major() && a.Minor() == b.Minor()
 }