From 6c0141a62d950feed33cca69889d41fd55ece0a0 Mon Sep 17 00:00:00 2001 From: boris Date: Mon, 15 Mar 2021 15:58:07 +0800 Subject: [PATCH] fix: check if namespace exists (#1187) * fix: check if namespace exists * Update pkg/utils/env/env.go * Update pkg/utils/env/env.go Co-authored-by: Jianbo Sun --- pkg/utils/env/env.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/utils/env/env.go b/pkg/utils/env/env.go index 4cfaef403..dd21ecea4 100644 --- a/pkg/utils/env/env.go +++ b/pkg/utils/env/env.go @@ -15,6 +15,7 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + k8stypes "k8s.io/apimachinery/pkg/types" "k8s.io/utils/pointer" "sigs.k8s.io/controller-runtime/pkg/client" @@ -75,9 +76,15 @@ func CreateOrUpdateEnv(ctx context.Context, c client.Client, envName string, env } var message = "" - // Create Namespace - if err := c.Create(ctx, &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: envArgs.Namespace}}); err != nil && !apierrors.IsAlreadyExists(err) { - return message, err + // Check If Namespace Exists + if err := c.Get(ctx, k8stypes.NamespacedName{Name: envArgs.Namespace}, &corev1.Namespace{}); err != nil { + if !apierrors.IsNotFound(err) { + return message, err + } + // Create Namespace if not found + if err := c.Create(ctx, &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: envArgs.Namespace}}); err != nil { + return message, err + } } // Create Issuer For SSL if both email and domain are all set.