Story #2211
closedAs a user, I can sync a distribution unit with the existing yum_importer without requiring yum metadata
100%
Description
This comes from a need by katello to sync kickstart trees for Project Atomic. For all of pulp's life, it has assumed that a "distribution" unit must be part of a yum repository. Atomic has proven that to not be true.
In the face of some unfortunate work-arounds, I did a quick investigation to see how close the current yum_importer is to being able to sync a distribution with no yum metadata present. It turned out to be very easy, and I had a working PoC in about 10 minutes.
The existing logic for skipping yum-related steps was easy to use. We just need to change the error handling when repomd.xml can't be found, so that instead of failing the task, it sets the "skip_repomd_steps" flag and allows the distribution sync to continue.
Turning the PoC into a PR will be very easy.
Here is a repo to test with that does not have yum metadata: https://ci.centos.org/artifacts/sig-atomic/centos-continuous/images-alpha/installer/latest/images/
And here is one that does have yum metadata (the case we've always handled): http://mirror.cs.vt.edu/pub/CentOS/7/os/x86_64/
To test:
- create a yum repo in pulp with a feed to the above repo, or a similar one
- sync the repo
- verify that the repo contains 1 distribution unit after the sync runs
yum_importer can sync a distribution that does not also have yum repo metadata
This was prompted by the need to sync kickstart trees related to Project Atomic, which do not have yum repository metadata in the kickstart directory.
fixes #2211 https://pulp.plan.io/issues/2211