From b84b4942802079c3f58e7cc1feb49c715716b2f8 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 734dcd4e3..c59143432 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 af4b240b6..55e6e68aa 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 cf5566d61..69189470d 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 47ab02d8f..a3081b195 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 09dd068d0..52724af00 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 211c51d44..1f0aac1d3 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,