Restore fallback to deployment_platform_cluster
In 12.2 we will remove this fallback.
This commit is contained in:
		
							parent
							
								
									25ba11a2aa
								
							
						
					
					
						commit
						c85d6b0c74
					
				| 
						 | 
				
			
			@ -44,7 +44,18 @@ class DeploymentMetrics
 | 
			
		|||
    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
 | 
			
		||||
    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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -887,9 +887,10 @@ describe Projects::MergeRequestsController do
 | 
			
		|||
        environment2 = create(:environment, project: forked)
 | 
			
		||||
        create(:deployment, :succeed, environment: environment2, sha: sha, ref: 'master', deployable: build)
 | 
			
		||||
 | 
			
		||||
        # TODO address the last 5 queries
 | 
			
		||||
        # See https://gitlab.com/gitlab-org/gitlab-ce/issues/63952
 | 
			
		||||
        leeway = 5
 | 
			
		||||
        # TODO address the last 11 queries
 | 
			
		||||
        # See https://gitlab.com/gitlab-org/gitlab-ce/issues/63952 (5 queries)
 | 
			
		||||
        # 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)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,6 +49,18 @@ describe DeploymentMetrics do
 | 
			
		|||
 | 
			
		||||
        it { is_expected.to be_truthy }
 | 
			
		||||
      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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue