Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThong Kuah <tkuah@gitlab.com>2018-11-12 06:00:23 +0300
committerThong Kuah <tkuah@gitlab.com>2018-11-14 23:25:03 +0300
commitf27529ba5d9011b89c51312536555b89c9a9eba2 (patch)
tree1ef21958968f495e452b7a56b47279eb7caa5fe6
parentf76b3106e85411c3526b88ae366ef7619241cb85 (diff)
Deprecate #project in Clusters::Platform::Kubernetes
Clusters now potentially have many projects with group level clusters, so move away from assuming only one project
-rw-r--r--app/models/clusters/platforms/kubernetes.rb8
-rw-r--r--spec/models/clusters/platforms/kubernetes_spec.rb10
2 files changed, 16 insertions, 2 deletions
diff --git a/app/models/clusters/platforms/kubernetes.rb b/app/models/clusters/platforms/kubernetes.rb
index 3c5d7756eec..aafac1aa6a2 100644
--- a/app/models/clusters/platforms/kubernetes.rb
+++ b/app/models/clusters/platforms/kubernetes.rb
@@ -51,7 +51,6 @@ module Clusters
alias_attribute :ca_pem, :ca_cert
- delegate :project, to: :cluster, allow_nil: true
delegate :enabled?, to: :cluster, allow_nil: true
delegate :managed?, to: :cluster, allow_nil: true
delegate :allow_user_defined_namespace?, to: :cluster, allow_nil: true
@@ -65,6 +64,13 @@ module Clusters
abac: 2
}
+ # DEPRECATED - please use Clusters::KubernetesNamespace
+ def project
+ raise "Cluster type does not support #project" if cluster && !cluster.project_type?
+
+ cluster&.project
+ end
+
def actual_namespace
if namespace.present?
namespace
diff --git a/spec/models/clusters/platforms/kubernetes_spec.rb b/spec/models/clusters/platforms/kubernetes_spec.rb
index 99fd6ccc4d8..c9ef88353ec 100644
--- a/spec/models/clusters/platforms/kubernetes_spec.rb
+++ b/spec/models/clusters/platforms/kubernetes_spec.rb
@@ -13,7 +13,6 @@ describe Clusters::Platforms::Kubernetes, :use_clean_rails_memory_store_caching
it { is_expected.to validate_presence_of(:api_url) }
it { is_expected.to validate_presence_of(:token) }
- it { is_expected.to delegate_method(:project).to(:cluster) }
it { is_expected.to delegate_method(:enabled?).to(:cluster) }
it { is_expected.to delegate_method(:managed?).to(:cluster) }
it { is_expected.to delegate_method(:kubernetes_namespace).to(:cluster) }
@@ -135,6 +134,15 @@ describe Clusters::Platforms::Kubernetes, :use_clean_rails_memory_store_caching
end
end
+ describe '#project' do
+ let(:cluster) { create(:cluster, :project) }
+ let(:kubernetes) { build(:cluster_platform_kubernetes, cluster: cluster) }
+
+ subject { kubernetes.project }
+
+ it { is_expected.to eq cluster.project }
+ end
+
describe '#kubeclient' do
let(:cluster) { create(:cluster, :project) }
let(:kubernetes) { build(:cluster_platform_kubernetes, :configured, namespace: 'a-namespace', cluster: cluster) }