Restore fallback to deployment_platform_cluster
In 12.2 we will remove this fallback.
This commit is contained in:
parent
25ba11a2aa
commit
c85d6b0c74
3 changed files with 28 additions and 4 deletions
|
@ -44,7 +44,18 @@ class DeploymentMetrics
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO remove fallback case to deployment_platform_cluster.
|
||||||
|
# Otherwise we will continue to pay the performance penalty described in
|
||||||
|
# https://gitlab.com/gitlab-org/gitlab-ce/issues/63475
|
||||||
|
#
|
||||||
|
# Removal issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/64105
|
||||||
def cluster_prometheus
|
def cluster_prometheus
|
||||||
cluster.application_prometheus if cluster&.application_prometheus_available?
|
cluster_with_fallback = cluster || deployment_platform_cluster
|
||||||
|
|
||||||
|
cluster_with_fallback.application_prometheus if cluster_with_fallback&.application_prometheus_available?
|
||||||
|
end
|
||||||
|
|
||||||
|
def deployment_platform_cluster
|
||||||
|
deployment.environment.deployment_platform&.cluster
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -887,9 +887,10 @@ describe Projects::MergeRequestsController do
|
||||||
environment2 = create(:environment, project: forked)
|
environment2 = create(:environment, project: forked)
|
||||||
create(:deployment, :succeed, environment: environment2, sha: sha, ref: 'master', deployable: build)
|
create(:deployment, :succeed, environment: environment2, sha: sha, ref: 'master', deployable: build)
|
||||||
|
|
||||||
# TODO address the last 5 queries
|
# TODO address the last 11 queries
|
||||||
# See https://gitlab.com/gitlab-org/gitlab-ce/issues/63952
|
# See https://gitlab.com/gitlab-org/gitlab-ce/issues/63952 (5 queries)
|
||||||
leeway = 5
|
# And https://gitlab.com/gitlab-org/gitlab-ce/issues/64105 (6 queries)
|
||||||
|
leeway = 11
|
||||||
expect { get_ci_environments_status }.not_to exceed_all_query_limit(control_count + leeway)
|
expect { get_ci_environments_status }.not_to exceed_all_query_limit(control_count + leeway)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,18 @@ describe DeploymentMetrics do
|
||||||
|
|
||||||
it { is_expected.to be_truthy }
|
it { is_expected.to be_truthy }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'fallback deployment platform' do
|
||||||
|
let(:cluster) { create(:cluster, :provided_by_user, environment_scope: '*', projects: [deployment.project]) }
|
||||||
|
let!(:prometheus) { create(:clusters_applications_prometheus, :installed, cluster: cluster) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
expect(deployment.project).to receive(:deployment_platform).and_return(cluster.platform)
|
||||||
|
expect(cluster.application_prometheus).to receive(:can_query?).and_return(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it { is_expected.to be_truthy }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue