Skip to content

Check uploaded modular metadata against what Pulp published - #1258

Merged
anfimovdm merged 1 commit into
AlmaLinux:masterfrom
eabdullin1:metadata-uploader-post-check
Sep 22, 2026
Merged

anfimovdm merged 1 commit into
AlmaLinux:masterfrom
eabdullin1:metadata-uploader-post-check

Conversation

@eabdullin1

Copy link
Copy Markdown
Contributor

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.

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.
@anfimovdm
anfimovdm merged commit f274d6e into AlmaLinux:master Sep 22, 2026
3 of 4 checks passed
@eabdullin1
eabdullin1 deleted the metadata-uploader-post-check branch October 14, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants