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
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-11-12 06:12:11 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-11-12 06:12:11 +0300
commitf78f3d867871ce9ad79e5fcb8e4e3e8ffda37200 (patch)
tree5970d9f84231a66d2bb040fa50ce820b0d5de520 /app
parent5e13b3a9e58a7b78e93b4aa5a12cc19bd6bca674 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/finders/packages/group_packages_finder.rb2
-rw-r--r--app/finders/packages/package_finder.rb2
-rw-r--r--app/finders/packages/packages_finder.rb2
-rw-r--r--app/models/clusters/cluster.rb2
-rw-r--r--app/models/packages/package.rb10
-rw-r--r--app/models/packages/package_file.rb2
-rw-r--r--app/presenters/blob_presenter.rb2
-rw-r--r--app/services/clusters/cleanup/project_namespace_service.rb6
-rw-r--r--app/services/clusters/cleanup/service_account_service.rb5
9 files changed, 16 insertions, 17 deletions
diff --git a/app/finders/packages/group_packages_finder.rb b/app/finders/packages/group_packages_finder.rb
index 093deb43c41..2a62dd5c0e5 100644
--- a/app/finders/packages/group_packages_finder.rb
+++ b/app/finders/packages/group_packages_finder.rb
@@ -22,7 +22,7 @@ module Packages
def packages_for_group_projects(installable_only: false)
packages = ::Packages::Package
- .load_pipelines
+ .preload_pipelines
.including_project_route
.including_tags
.for_projects(group_projects_visible_to_current_user.select(:id))
diff --git a/app/finders/packages/package_finder.rb b/app/finders/packages/package_finder.rb
index f4463bf0726..e482a0503f0 100644
--- a/app/finders/packages/package_finder.rb
+++ b/app/finders/packages/package_finder.rb
@@ -9,7 +9,7 @@ module Packages
def execute
@project
.packages
- .load_pipelines
+ .preload_pipelines
.including_project_route
.including_tags
.displayable
diff --git a/app/finders/packages/packages_finder.rb b/app/finders/packages/packages_finder.rb
index 29ec3645633..3bc348c8dc8 100644
--- a/app/finders/packages/packages_finder.rb
+++ b/app/finders/packages/packages_finder.rb
@@ -14,7 +14,7 @@ module Packages
def execute
packages = project.packages
- .load_pipelines
+ .preload_pipelines
.including_project_route
.including_tags
diff --git a/app/models/clusters/cluster.rb b/app/models/clusters/cluster.rb
index c5a4f8523ef..87afa9f9491 100644
--- a/app/models/clusters/cluster.rb
+++ b/app/models/clusters/cluster.rb
@@ -307,7 +307,7 @@ module Clusters
end
def kubeclient
- platform_kubernetes.kubeclient if kubernetes?
+ platform_kubernetes&.kubeclient if kubernetes?
end
def elastic_stack_adapter
diff --git a/app/models/packages/package.rb b/app/models/packages/package.rb
index f25d0299524..962a1057a22 100644
--- a/app/models/packages/package.rb
+++ b/app/models/packages/package.rb
@@ -41,7 +41,7 @@ class Packages::Package < ApplicationRecord
has_one :rubygems_metadatum, inverse_of: :package, class_name: 'Packages::Rubygems::Metadatum'
has_one :npm_metadatum, inverse_of: :package, class_name: 'Packages::Npm::Metadatum'
has_many :build_infos, inverse_of: :package
- has_many :pipelines, through: :build_infos, disable_joins: -> { disable_cross_joins_to_pipelines? }
+ has_many :pipelines, through: :build_infos, disable_joins: true
has_one :debian_publication, inverse_of: :package, class_name: 'Packages::Debian::Publication'
has_one :debian_distribution, through: :debian_publication, source: :distribution, inverse_of: :packages, class_name: 'Packages::Debian::ProjectDistribution'
@@ -103,7 +103,6 @@ class Packages::Package < ApplicationRecord
scope :with_status, ->(status) { where(status: status) }
scope :displayable, -> { with_status(DISPLAYABLE_STATUSES) }
scope :installable, -> { with_status(INSTALLABLE_STATUSES) }
- scope :including_build_info, -> { includes(pipelines: :user) }
scope :including_project_route, -> { includes(project: { namespace: :route }) }
scope :including_tags, -> { includes(:tags) }
scope :including_dependency_links, -> { includes(dependency_links: :dependency) }
@@ -137,7 +136,6 @@ class Packages::Package < ApplicationRecord
scope :last_of_each_version, -> { where(id: all.select('MAX(id) AS id').group(:version)) }
scope :limit_recent, ->(limit) { order_created_desc.limit(limit) }
scope :select_distinct_name, -> { select(:name).distinct }
- scope :load_pipelines, -> { disable_cross_joins_to_pipelines? ? preload_pipelines : including_build_info }
# Sorting
scope :order_created, -> { reorder(created_at: :asc) }
@@ -164,10 +162,6 @@ class Packages::Package < ApplicationRecord
joins(:project).reorder(keyset_order)
end
- def self.disable_cross_joins_to_pipelines?
- ::Feature.enabled?(:packages_remove_cross_joins_to_pipelines, default_enabled: :yaml)
- end
-
def self.only_maven_packages_with_path(path, use_cte: false)
if use_cte
# This is an optimization fence which assumes that looking up the Metadatum record by path (globally)
@@ -253,7 +247,7 @@ class Packages::Package < ApplicationRecord
def versions
project.packages
- .load_pipelines
+ .preload_pipelines
.including_tags
.with_name(name)
.where.not(version: version)
diff --git a/app/models/packages/package_file.rb b/app/models/packages/package_file.rb
index 554c5e64f7c..87c9f56cc41 100644
--- a/app/models/packages/package_file.rb
+++ b/app/models/packages/package_file.rb
@@ -15,7 +15,7 @@ class Packages::PackageFile < ApplicationRecord
has_one :conan_file_metadatum, inverse_of: :package_file, class_name: 'Packages::Conan::FileMetadatum'
has_many :package_file_build_infos, inverse_of: :package_file, class_name: 'Packages::PackageFileBuildInfo'
- has_many :pipelines, through: :package_file_build_infos, disable_joins: -> { Packages::Package.disable_cross_joins_to_pipelines? }
+ has_many :pipelines, through: :package_file_build_infos, disable_joins: true
has_one :debian_file_metadatum, inverse_of: :package_file, class_name: 'Packages::Debian::FileMetadatum'
has_one :helm_file_metadatum, inverse_of: :package_file, class_name: 'Packages::Helm::FileMetadatum'
diff --git a/app/presenters/blob_presenter.rb b/app/presenters/blob_presenter.rb
index f5afe21ce97..38e30f26033 100644
--- a/app/presenters/blob_presenter.rb
+++ b/app/presenters/blob_presenter.rb
@@ -125,7 +125,7 @@ class BlobPresenter < Gitlab::View::Presenter::Delegated
end
def transformed_blob_data
- @transformed_blob ||= if blob.path.ends_with?('.ipynb')
+ @transformed_blob ||= if blob.path.ends_with?('.ipynb') && blob.transformed_for_diff
IpynbDiff.transform(blob.data,
raise_errors: true,
options: { include_metadata: false, cell_decorator: :percent })
diff --git a/app/services/clusters/cleanup/project_namespace_service.rb b/app/services/clusters/cleanup/project_namespace_service.rb
index 16254041306..0173f93f625 100644
--- a/app/services/clusters/cleanup/project_namespace_service.rb
+++ b/app/services/clusters/cleanup/project_namespace_service.rb
@@ -35,9 +35,11 @@ module Clusters
end
def kubeclient_delete_namespace(kubernetes_namespace)
- cluster.kubeclient.delete_namespace(kubernetes_namespace.namespace)
+ cluster.kubeclient&.delete_namespace(kubernetes_namespace.namespace)
rescue Kubeclient::ResourceNotFoundError
- # no-op: nothing to delete
+ # The resources have already been deleted, possibly on a previous attempt that timed out
+ rescue Gitlab::UrlBlocker::BlockedUrlError
+ # User gave an invalid cluster from the start, or deleted the endpoint before this job ran
end
end
end
diff --git a/app/services/clusters/cleanup/service_account_service.rb b/app/services/clusters/cleanup/service_account_service.rb
index baac9e4a9e7..53f968cd409 100644
--- a/app/services/clusters/cleanup/service_account_service.rb
+++ b/app/services/clusters/cleanup/service_account_service.rb
@@ -16,11 +16,14 @@ module Clusters
def delete_gitlab_service_account
log_event(:deleting_gitlab_service_account)
- cluster.kubeclient.delete_service_account(
+ cluster.kubeclient&.delete_service_account(
::Clusters::Kubernetes::GITLAB_SERVICE_ACCOUNT_NAME,
::Clusters::Kubernetes::GITLAB_SERVICE_ACCOUNT_NAMESPACE
)
rescue Kubeclient::ResourceNotFoundError
+ # The resources have already been deleted, possibly on a previous attempt that timed out
+ rescue Gitlab::UrlBlocker::BlockedUrlError
+ # User gave an invalid cluster from the start, or deleted the endpoint before this job ran
end
end
end