summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-04-06 12:10:30 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-04-06 12:10:30 +0200
commit8fc9ff7f131aa850ce4b1a8cb86ab4fa9b46410d (patch)
tree95c22b6ac9ac55566eb12b5aee39ae6b020f8445
parent2faf991f31aceb1c34a3855695d25fab19203e36 (diff)
downloadgitlab-ce-8fc9ff7f131aa850ce4b1a8cb86ab4fa9b46410d.tar.gz
Fix environment deployment platform filter method
-rw-r--r--app/models/environment.rb2
-rw-r--r--lib/gitlab/prometheus/queries/query_additional_metrics.rb2
-rw-r--r--spec/models/environment_spec.rb26
3 files changed, 28 insertions, 2 deletions
diff --git a/app/models/environment.rb b/app/models/environment.rb
index 9517723d9d9..fddb269af4b 100644
--- a/app/models/environment.rb
+++ b/app/models/environment.rb
@@ -224,7 +224,7 @@ class Environment < ActiveRecord::Base
end
def deployment_platform
- project.deployment_platform(environment: self)
+ project.deployment_platform(environment: self.name)
end
private
diff --git a/lib/gitlab/prometheus/queries/query_additional_metrics.rb b/lib/gitlab/prometheus/queries/query_additional_metrics.rb
index aad76e335af..f5879de1e94 100644
--- a/lib/gitlab/prometheus/queries/query_additional_metrics.rb
+++ b/lib/gitlab/prometheus/queries/query_additional_metrics.rb
@@ -79,7 +79,7 @@ module Gitlab
def common_query_context(environment, timeframe_start:, timeframe_end:)
base_query_context(timeframe_start, timeframe_end).merge({
ci_environment_slug: environment.slug,
- kube_namespace: environment.project.deployment_platform&.actual_namespace || '',
+ kube_namespace: environment.deployment_platform&.actual_namespace || '',
environment_filter: %{container_name!="POD",environment="#{environment.slug}"}
})
end
diff --git a/spec/models/environment_spec.rb b/spec/models/environment_spec.rb
index 412eca4a56b..56161bfcc28 100644
--- a/spec/models/environment_spec.rb
+++ b/spec/models/environment_spec.rb
@@ -368,6 +368,32 @@ describe Environment do
end
end
+ describe '#deployment_platform' do
+ context 'when there is a deployment platform for environment' do
+ let!(:cluster) do
+ create(:cluster, :provided_by_gcp,
+ environment_scope: '*', projects: [project])
+ end
+
+ it 'finds a deployment platform' do
+ expect(environment.deployment_platform).to eq cluster.platform
+ end
+ end
+
+ context 'when there is no deployment platform for environment' do
+ it 'returns nil' do
+ expect(environment.deployment_platform).to be_nil
+ end
+ end
+
+ it 'checks deployment platforms associated with a project' do
+ expect(project).to receive(:deployment_platform)
+ .with(environment: environment.name)
+
+ environment.deployment_platform
+ end
+ end
+
describe '#terminals' do
subject { environment.terminals }