Actions
Issue #5448
closedIf multiple source repos contain the same package, it can be chosen at random
Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:
Description
When copying units using the "additional_repos" feature, if two source repos contain the same package, the package will be chosen nondeterministically from one of the two repos, and therefore the target repo that the dependency ends up in can be nondeterministic.
Concrete example:
Repo 1 contains "whale" and "walrus" RPMs
Repo 2 contains "whale", "shark" and "stork" RPMs
Dependencies:
walrus
└── whale
├── shark
└── stork
curl -k -u admin:admin --cert ~/.pulp/user-cert.pem -d '{"source_repo_id":"repo1","criteria":{"type_ids":["modulemd"],"filters":{}},"override_config":{"recursive_conservative":true,"additional_repos":{"repo2": "repo4"}}}' -H "Content-Type: application/json" -X POST https://localhost/pulp/api/v2/repositories/repo3/actions/associate/
After performing the above request, sometimes the "whale" RPM will be correctly copied from repo1 and correctly end up in repo3, and sometimes it will incorrectly be copied from repo2 and incorrectly end up in repo4
Libsolv has a "repo priority" feature that can be used to remedy this. The repos can assigned descending priority levels.
Related issues
Actions