Repository navigation
Check uploaded modular metadata against what Pulp published - #1258
Merged
anfimovdm merged 1 commit intoSep 22, 2026
Merged
Conversation
Pulp does not store modules.yaml as it was uploaded: it keeps a snippet per module and rebuilds the file on every publication. The uploader has no way to tell whether the repository ended up carrying what it was given, and a module lost on the way only shows up much later, when something fails to resolve against the repository. Download the published modules.yaml back from the repository distribution and compare it with the uploaded one. Modules are counted per name:stream:version, so a module shipped as several contexts of the same version is checked as such: perl-DBI:1.641 is 4 modules that share a version and differ only in their dependencies and contexts, and all 4 have to come back. On top of the counters every NSVCA is matched one-to-one, along with its artifacts list and its runtime dependencies. The check runs by default and can be turned off with --no-post-check. It retries the download (--post-check-retries, --post-check-delay) so that a publication that has not propagated yet is not reported as a mismatch, and exits with 2 when the metadata really does differ.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Download the published modules.yaml back from the repository distribution and compare it with the uploaded one. Modules are counted per name:stream:version, so a module shipped as several contexts of the same version is checked as such: perl-DBI:1.641 is 4 modules that share a version and differ only in their dependencies and contexts, and all 4 have to come back. On top of the counters every NSVCA is matched one-to-one, along with its artifacts list and its runtime dependencies.
The check runs by default and can be turned off with --no-post-check. It retries the download (--post-check-retries, --post-check-delay) so that a publication that has not propagated yet is not reported as a mismatch, and exits with 2 when the metadata really does differ.