Leverage repository checksums when moving a repository
When moving a repository, GitLab should log both before and after the move what the checksums of the repository is. Helping SRE's that move repositories to determine if the move was successful.
An crude example:
diff --git a/ee/app/services/projects/update_repository_storage_service.rb b/ee/app/services/projects/update_repositor
y_storage_service.rb
index 464b2ebe995..7ee0d405720 100644
--- a/ee/app/services/projects/update_repository_storage_service.rb
+++ b/ee/app/services/projects/update_repository_storage_service.rb
@@ -39,6 +39,10 @@ module Projects
def mirror_repository(new_storage_key, type: Gitlab::GlRepository::PROJECT)
return false unless wait_for_pushes(type)
+ old_checksum = repository.checksum
+
+ Rails.logger.info("moving repository #{repository.full_path}, current checksum: #{old_checksum}")
+
repository = type.repository_for(project)
full_path = repository.full_path
raw_repository = repository.raw
@@ -50,7 +54,12 @@ module Projects
raw_repository.gl_repository,
full_path)
- new_repository.fetch_repository_as_mirror(raw_repository)
+ result = new_repository.fetch_repository_as_mirror(raw_repository)
+ new_checksum = repository.checksum
+
+ Rails.logger.info("old checksum: #{old_checksum}, new checksum: #{new_checksum}")
+
+ result
end
def mark_old_paths_for_archive
Related to: https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/7198
/cc @brodock @aamarsanaa