diff --git a/fission/function.go b/fission/function.go index bfbf72e5..93334f78 100644 --- a/fission/function.go +++ b/fission/function.go @@ -106,6 +106,19 @@ func fnCreate(c *cli.Context) error { fatal("Need --env argument.") } + // examine existence of given environment + _, err := client.EnvironmentGet(&metav1.ObjectMeta{ + Namespace: metav1.NamespaceDefault, + Name: envName, + }) + if err != nil { + if e, ok := err.(fission.Error); ok && e.Code == fission.ErrorNotFound { + fmt.Printf("Environment \"%v\" does not exist. Please create the environment before executing the function. \nFor example: `fission env create --name %v --image `\n", envName, envName) + } else { + checkErr(err, "retrieve environment information") + } + } + srcArchiveName := c.String("src") deployArchiveName := c.String("code") if len(deployArchiveName) == 0 {