Draft: DIAGNOSTIC: remote mirror self-mirror CI state (do not merge)
Do not merge — temporary diagnostic
Instruments the failing example
RemoteMirror validations self-referencing url grandfathers an existing self-mirror on update
to capture, in CI, exactly why mirror.save returns false there while it passes
locally and in most jobs.
It logs (prefix [RM-DIAG]): GITALY_TRANSACTIONS_ENABLED, project.http_url_to_repo,
the gitlab host/port/protocol, Gitlab::HTTP_V2.configuration.allowed_internal_uris,
AddressableUrlValidator.allow_setting_local_requests?, the app-setting local-requests
flag, UrlBlocker#internal?(url), and the actual mirror.errors.full_messages.
Carries the pipeline:run-without-gitaly-transactions label so the
rspec unit pg17 no_gitaly_transactions job (the one that failed on the scheduled
master pipeline) runs here.
Local baseline (passes): internal?(url)=true, allowed_internal_uris=["http://localhost", "ssh://localhost:22"],
http_url_to_repo="http://localhost/.../project.git", saved=true errors=[].
We want to see how these differ in the failing CI job.
References
- Fix MR: !246960 (merged)
- Master-broken incident: gitlab-org/quality/engineering-productivity/master-broken-incidents#27458 (closed)
- Failing job: https://gitlab.com/gitlab-org/gitlab/-/jobs/15520714243