From caf09b81b073cd3b5e4654118fadd2ba714f1a89 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 Sep 2022 10:59:26 +0800 Subject: [PATCH] Fix: it does not check the same name for 'vela env init' (#4798) Signed-off-by: wuzhongjian (cherry picked from commit a38e6d401b4ffca040b3d6862180898fe4d8114a) Co-authored-by: wuzhongjian --- pkg/utils/env/env.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkg/utils/env/env.go b/pkg/utils/env/env.go index 6a798a598..cdfe7cb46 100644 --- a/pkg/utils/env/env.go +++ b/pkg/utils/env/env.go @@ -73,6 +73,17 @@ func CreateEnv(envArgs *types.EnvMeta) error { } } ctx := context.TODO() + + var nsList v1.NamespaceList + err = c.List(ctx, &nsList, client.MatchingLabels{oam.LabelControlPlaneNamespaceUsage: oam.VelaNamespaceUsageEnv, + oam.LabelNamespaceOfEnvName: envArgs.Name}) + if err != nil { + return err + } + if len(nsList.Items) > 0 { + return fmt.Errorf("env name %s already exists", envArgs.Name) + } + namespace, err := utils.GetNamespace(ctx, c, envArgs.Namespace) if err != nil && !apierrors.IsNotFound(err) { return err