From 2b616ec4e2a40b6852f56278f24a22dc3816586c Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Fri, 1 Nov 2019 00:59:50 +0800 Subject: [PATCH] Fix utility function uses the wrong flag text to get value (#1368) The utility function GetMetadata uses wrong flag text to get the resource namespace and could cause the wrong results returned from the API server. This PR changes the function signature that allows users to pass in the flag text in order to get the correct value. --- pkg/fission-cli/cmd/environment/create.go | 2 +- pkg/fission-cli/cmd/environment/delete.go | 6 +++--- pkg/fission-cli/cmd/environment/get.go | 6 +++--- pkg/fission-cli/cmd/environment/list.go | 6 +++--- pkg/fission-cli/cmd/environment/update.go | 2 +- pkg/fission-cli/cmd/util.go | 10 +++++----- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkg/fission-cli/cmd/environment/create.go b/pkg/fission-cli/cmd/environment/create.go index 734dcd4e..c5914343 100644 --- a/pkg/fission-cli/cmd/environment/create.go +++ b/pkg/fission-cli/cmd/environment/create.go @@ -65,7 +65,7 @@ func (opts *CreateSubCommand) complete(flags cli.Input) error { // run write the resource to a spec file or create a fission CRD with remote fission server. // It also prints warning/error if necessary. func (opts *CreateSubCommand) run(flags cli.Input) error { - m, err := cmd.GetMetadata(flags) + m, err := cmd.GetMetadata(cmd.RESOURCE_NAME, cmd.ENVIRONMENT_NAMESPACE, flags) if err != nil { return err } diff --git a/pkg/fission-cli/cmd/environment/delete.go b/pkg/fission-cli/cmd/environment/delete.go index af4b240b..55e6e68a 100644 --- a/pkg/fission-cli/cmd/environment/delete.go +++ b/pkg/fission-cli/cmd/environment/delete.go @@ -21,7 +21,7 @@ import ( "github.com/fission/fission/pkg/controller/client" "github.com/fission/fission/pkg/fission-cli/cliwrapper/cli" - cmdutils "github.com/fission/fission/pkg/fission-cli/cmd" + "github.com/fission/fission/pkg/fission-cli/cmd" "github.com/fission/fission/pkg/fission-cli/util" ) @@ -31,13 +31,13 @@ type DeleteSubCommand struct { func Delete(flags cli.Input) error { opts := DeleteSubCommand{ - client: cmdutils.GetServer(flags), + client: cmd.GetServer(flags), } return opts.do(flags) } func (opts *DeleteSubCommand) do(flags cli.Input) error { - m, err := cmdutils.GetMetadata(flags) + m, err := cmd.GetMetadata(cmd.RESOURCE_NAME, cmd.ENVIRONMENT_NAMESPACE, flags) if err != nil { return err } diff --git a/pkg/fission-cli/cmd/environment/get.go b/pkg/fission-cli/cmd/environment/get.go index cf5566d6..69189470 100644 --- a/pkg/fission-cli/cmd/environment/get.go +++ b/pkg/fission-cli/cmd/environment/get.go @@ -23,7 +23,7 @@ import ( "github.com/fission/fission/pkg/controller/client" "github.com/fission/fission/pkg/fission-cli/cliwrapper/cli" - cmdutils "github.com/fission/fission/pkg/fission-cli/cmd" + "github.com/fission/fission/pkg/fission-cli/cmd" "github.com/fission/fission/pkg/fission-cli/util" ) @@ -33,13 +33,13 @@ type GetSubCommand struct { func Get(flags cli.Input) error { opts := GetSubCommand{ - client: cmdutils.GetServer(flags), + client: cmd.GetServer(flags), } return opts.do(flags) } func (opts *GetSubCommand) do(flags cli.Input) error { - m, err := cmdutils.GetMetadata(flags) + m, err := cmd.GetMetadata(cmd.RESOURCE_NAME, cmd.ENVIRONMENT_NAMESPACE, flags) if err != nil { return err } diff --git a/pkg/fission-cli/cmd/environment/list.go b/pkg/fission-cli/cmd/environment/list.go index 47ab02d8..a3081b19 100644 --- a/pkg/fission-cli/cmd/environment/list.go +++ b/pkg/fission-cli/cmd/environment/list.go @@ -23,7 +23,7 @@ import ( "github.com/fission/fission/pkg/controller/client" "github.com/fission/fission/pkg/fission-cli/cliwrapper/cli" - cmdutils "github.com/fission/fission/pkg/fission-cli/cmd" + "github.com/fission/fission/pkg/fission-cli/cmd" "github.com/fission/fission/pkg/fission-cli/util" ) @@ -33,13 +33,13 @@ type ListSubCommand struct { func List(flags cli.Input) error { opts := ListSubCommand{ - client: cmdutils.GetServer(flags), + client: cmd.GetServer(flags), } return opts.do(flags) } func (opts *ListSubCommand) do(flags cli.Input) error { - envNamespace := flags.String(cmdutils.ENVIRONMENT_NAMESPACE) + envNamespace := flags.String(cmd.ENVIRONMENT_NAMESPACE) envs, err := opts.client.EnvironmentList(envNamespace) util.CheckErr(err, "list environments") diff --git a/pkg/fission-cli/cmd/environment/update.go b/pkg/fission-cli/cmd/environment/update.go index 09dd068d..52724af0 100644 --- a/pkg/fission-cli/cmd/environment/update.go +++ b/pkg/fission-cli/cmd/environment/update.go @@ -50,7 +50,7 @@ func (opts *UpdateSubCommand) do(flags cli.Input) error { } func (opts *UpdateSubCommand) complete(flags cli.Input) error { - m, err := cmd.GetMetadata(flags) + m, err := cmd.GetMetadata(cmd.RESOURCE_NAME, cmd.ENVIRONMENT_NAMESPACE, flags) if err != nil { return err } diff --git a/pkg/fission-cli/cmd/util.go b/pkg/fission-cli/cmd/util.go index 211c51d4..1f0aac1d 100644 --- a/pkg/fission-cli/cmd/util.go +++ b/pkg/fission-cli/cmd/util.go @@ -125,14 +125,14 @@ func GetSpecDir(flags cli.Input) string { return specDir } -// GetMetadata returns a pointer to ObjectMeta which initialized with command line input. -func GetMetadata(flags cli.Input) (*metav1.ObjectMeta, error) { - name := flags.String(RESOURCE_NAME) +// GetMetadata returns a pointer to ObjectMeta that is populated with resource name and namespace given by the user. +func GetMetadata(nameFlagText string, namespaceFlagText string, flags cli.Input) (*metav1.ObjectMeta, error) { + name := flags.String(nameFlagText) if len(name) == 0 { - return nil, errors.New("Need a resource name, use --name.") + return nil, errors.New("need a resource name, use --name") } - ns := flags.String(ENVIRONMENT_NAMESPACE) + ns := flags.String(namespaceFlagText) m := &metav1.ObjectMeta{ Name: name,