Backport #8133 "Same package from different repos yields error on sync" to 3.14.z
Added by dalley over 2 years ago
Loosens the constraints around what can be in a new-repository-version.
There are RPM repositories "in the wild" that violate Pulp's assumptions about what is 'legal' in an incoming repository version. This commit changes some fatal errors into log-warnings, along with some heuristics around how to get a 'reasonable' repository in the face of suboptimal data.
To control activation of this behavior, RemoteArtifactSaver recognizes a ctor-keyword "fix_mismatched_remote_artifacts". This defaults to False; if provided as True, invokes the new behavior.
This change also adds handling for an exception during repo-version-failure-cleanup that could result in losing error info.
(cherry picked from commit 349f2137d970f87190749b417cfa137dc0f99ff5)