summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/build/prerequisite/kubernetes_namespace.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/ci/build/prerequisite/kubernetes_namespace.rb')
-rw-r--r--lib/gitlab/ci/build/prerequisite/kubernetes_namespace.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/gitlab/ci/build/prerequisite/kubernetes_namespace.rb b/lib/gitlab/ci/build/prerequisite/kubernetes_namespace.rb
index 3d66b13caa6..41135ae62bb 100644
--- a/lib/gitlab/ci/build/prerequisite/kubernetes_namespace.rb
+++ b/lib/gitlab/ci/build/prerequisite/kubernetes_namespace.rb
@@ -5,12 +5,8 @@ module Gitlab
module Build
module Prerequisite
class KubernetesNamespace < Base
- ##
- # Cluster settings may have changed since the last deploy,
- # so we must always ensure the namespace is up to date.
- #
def unmet?
- deployment_cluster.present?
+ deployment_cluster.present? && kubernetes_namespace.new_record?
end
def complete!
@@ -25,9 +21,13 @@ module Gitlab
build.deployment&.cluster
end
- def create_or_update_namespace
- kubernetes_namespace = deployment_cluster.find_or_initialize_kubernetes_namespace_for_project(build.project)
+ def kubernetes_namespace
+ strong_memoize(:kubernetes_namespace) do
+ deployment_cluster.find_or_initialize_kubernetes_namespace_for_project(build.project)
+ end
+ end
+ def create_or_update_namespace
Clusters::Gcp::Kubernetes::CreateOrUpdateNamespaceService.new(
cluster: deployment_cluster,
kubernetes_namespace: kubernetes_namespace