From b37c1a20c882804eab43cba785ccc6351bb8fb2c Mon Sep 17 00:00:00 2001 From: Michael Kozono <mkozono@gitlab.com> Date: Wed, 29 May 2024 10:35:20 +0000 Subject: [PATCH] Geo: Add primary API URL to registry sync error log --- .../geo/container_repository_sync_service.rb | 20 ++++++++++++------- .../container_repository_sync_service_spec.rb | 4 +++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ee/app/services/geo/container_repository_sync_service.rb b/ee/app/services/geo/container_repository_sync_service.rb index e690253f85cb7..76374548b424f 100644 --- a/ee/app/services/geo/container_repository_sync_service.rb +++ b/ee/app/services/geo/container_repository_sync_service.rb @@ -54,13 +54,19 @@ def reschedule_sync def fail_registry_sync!(message, error) log_error(message, error) - Gitlab::ErrorTracking.track_exception(error, - { - container_repository_name: container_repository.name, - project_path: container_repository.project.full_path, - project_id: container_repository.project_id - } - ) + extra = { + container_repository_name: container_repository.name, + project_path: container_repository.project.full_path, + project_id: container_repository.project_id + } + + begin + primary_api_url = Gitlab.config&.geo&.registry_replication&.primary_api_url + extra[:primary_api_url] = primary_api_url if primary_api_url + rescue ::GitlabSettings::MissingSetting + end + + Gitlab::ErrorTracking.track_exception(error, extra) registry.failed!(message: message, error: error) end diff --git a/ee/spec/services/geo/container_repository_sync_service_spec.rb b/ee/spec/services/geo/container_repository_sync_service_spec.rb index a906e9eeeb59a..e8cbacad63dbe 100644 --- a/ee/spec/services/geo/container_repository_sync_service_spec.rb +++ b/ee/spec/services/geo/container_repository_sync_service_spec.rb @@ -65,6 +65,7 @@ it 'tracks exception' do error = StandardError.new('Sync Error') + stub_registry_replication_config(enabled: true, primary_api_url: 'https://foo') allow_any_instance_of(Geo::ContainerRepositorySync) .to receive(:execute).and_raise(error) @@ -73,7 +74,8 @@ { container_repository_name: container_repository.name, project_path: container_repository.project.full_path, - project_id: container_repository.project_id + project_id: container_repository.project_id, + primary_api_url: 'https://foo' } ) -- GitLab