summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-08-06 13:36:07 -0700
committerStan Hu <stanhu@gmail.com>2019-08-06 13:44:26 -0700
commit35ce4820f24c15a5c7bdb111d73a90fd9bea2655 (patch)
tree756a3073eee14f720e1cfd82c3766b62209eaf10
parent921611d19dff9aed8d4c35edd0578614630a01c8 (diff)
downloadgitlab-ce-sh-disable-registry-delete.tar.gz
Don't attempt to contact registry if it is disabledsh-disable-registry-delete
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21679 moved the deletion of registry tags outside of a transaction, but introduced an issue where Sidekiq would attempt to contact the container registry during project destruction even if it were disabled. Relates to: * https://gitlab.com/charts/gitlab/issues/1455 * https://gitlab.com/gitlab-org/gitlab-ce/issues/45941
-rw-r--r--app/services/projects/destroy_service.rb1
-rw-r--r--changelogs/unreleased/sh-disable-registry-delete.yml5
-rw-r--r--spec/services/projects/destroy_service_spec.rb12
3 files changed, 18 insertions, 0 deletions
diff --git a/app/services/projects/destroy_service.rb b/app/services/projects/destroy_service.rb
index a1279bfb3a3..5893b8eedff 100644
--- a/app/services/projects/destroy_service.rb
+++ b/app/services/projects/destroy_service.rb
@@ -173,6 +173,7 @@ module Projects
end
def remove_registry_tags
+ return true unless Gitlab.config.registry.enabled
return false unless remove_legacy_registry_tags
project.container_repositories.find_each do |container_repository|
diff --git a/changelogs/unreleased/sh-disable-registry-delete.yml b/changelogs/unreleased/sh-disable-registry-delete.yml
new file mode 100644
index 00000000000..180b983e07c
--- /dev/null
+++ b/changelogs/unreleased/sh-disable-registry-delete.yml
@@ -0,0 +1,5 @@
+---
+title: Don't attempt to contact registry if it is disabled
+merge_request: 31553
+author:
+type: fixed
diff --git a/spec/services/projects/destroy_service_spec.rb b/spec/services/projects/destroy_service_spec.rb
index e436af77ed4..9a6f64b825a 100644
--- a/spec/services/projects/destroy_service_spec.rb
+++ b/spec/services/projects/destroy_service_spec.rb
@@ -241,6 +241,18 @@ describe Projects::DestroyService do
expect(destroy_project(project, user)).to be false
end
end
+
+ context 'when registry is disabled' do
+ before do
+ stub_container_registry_config(enabled: false)
+ end
+
+ it 'does not attempting to remove any tags' do
+ expect(Projects::ContainerRepository::DestroyService).not_to receive(:new)
+
+ destroy_project(project, user)
+ end
+ end
end
context 'when there are tags for legacy root repository' do