From 1b993ffcc9a2fda75f55cbc15fd7f06ec8dd57a2 Mon Sep 17 00:00:00 2001 From: wyike Date: Wed, 1 Feb 2023 16:41:50 +0800 Subject: [PATCH] fix bugs of specified addonName (#5404) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 楚岳 --- e2e/addon/addon_test.go | 6 ++++++ references/cli/addon.go | 18 +++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/e2e/addon/addon_test.go b/e2e/addon/addon_test.go index f8f9d4afe..f66ba3e1f 100644 --- a/e2e/addon/addon_test.go +++ b/e2e/addon/addon_test.go @@ -74,6 +74,12 @@ var _ = Describe("Addon Test", func() { Expect(output).To(ContainSubstring("enabled successfully.")) }) + It("Enable addon with specified registry ", func() { + output, err := e2e.LongTimeExec("vela addon enable KubeVela/test-addon", 300*time.Second) + Expect(err).NotTo(HaveOccurred()) + Expect(output).To(ContainSubstring("enabled successfully.")) + }) + It("Disable addon test-addon", func() { output, err := e2e.LongTimeExec("vela addon disable test-addon", 600*time.Second) Expect(err).NotTo(HaveOccurred()) diff --git a/references/cli/addon.go b/references/cli/addon.go index f2f6f2032..77319f28d 100644 --- a/references/cli/addon.go +++ b/references/cli/addon.go @@ -167,7 +167,7 @@ func NewAddonEnableCommand(c common.Args, ioStream cmdutil.IOStreams) *cobra.Com addonArgs[pkgaddon.InstallerRuntimeOption] = map[string]interface{}{ "upgrade": false, } - + var addonName string if file, err := os.Stat(addonOrDir); err == nil { if !file.IsDir() { return fmt.Errorf("%s is not addon dir", addonOrDir) @@ -178,13 +178,13 @@ func NewAddonEnableCommand(c common.Args, ioStream cmdutil.IOStreams) *cobra.Com if err != nil { return errors.Wrapf(err, "directory %s is invalid", addonOrDir) } - name = filepath.Base(abs) + addonName = filepath.Base(abs) if !yes2all { - if err := checkUninstallFromClusters(ctx, k8sClient, name, addonArgs); err != nil { + if err := checkUninstallFromClusters(ctx, k8sClient, addonName, addonArgs); err != nil { return err } } - additionalInfo, err = enableAddonByLocal(ctx, name, addonOrDir, k8sClient, dc, config, addonArgs) + additionalInfo, err = enableAddonByLocal(ctx, addonName, addonOrDir, k8sClient, dc, config, addonArgs) if err != nil { return err } @@ -192,8 +192,12 @@ func NewAddonEnableCommand(c common.Args, ioStream cmdutil.IOStreams) *cobra.Com if filepath.IsAbs(addonOrDir) || strings.HasPrefix(addonOrDir, ".") || strings.HasSuffix(addonOrDir, "/") { return fmt.Errorf("addon directory %s not found in local file system", addonOrDir) } + _, addonName, err = splitSpecifyRegistry(name) + if err != nil { + return fmt.Errorf("failed to split addonName and addonRegistry: %w", err) + } if !yes2all { - if err := checkUninstallFromClusters(ctx, k8sClient, name, addonArgs); err != nil { + if err := checkUninstallFromClusters(ctx, k8sClient, addonName, addonArgs); err != nil { return err } } @@ -205,8 +209,8 @@ func NewAddonEnableCommand(c common.Args, ioStream cmdutil.IOStreams) *cobra.Com if dryRun { return nil } - fmt.Printf("Addon %s enabled successfully.\n", name) - AdditionalEndpointPrinter(ctx, c, k8sClient, name, additionalInfo, false) + fmt.Printf("Addon %s enabled successfully.\n", addonName) + AdditionalEndpointPrinter(ctx, c, k8sClient, addonName, additionalInfo, false) return nil }, }