Pulp3: Fedora 34 updates no longer compatible with 'mirror'?

Problem: Fedora 34 updates repo no longer syncing

Expected outcome: Fedora 34 updates repo would sync and be published

Foreman and Proxy versions: 3.0
Foreman and Proxy plugin versions: Katello 4.2

Distribution and version: CentOS 8-stream

Other relevant data:

Attempts to sync the Fedora 34 updates repo are now failing almost immediately with the following error:

This repository uses features which are incompatible with 'mirror' sync. Please sync without mirroring enabled.

However, the Fedora 35 updates repository (which I also manage on the same server) is syncing correctly. The error message seems suspect - it doesn’t seem like Fedora would introduce something in the F34 lifecycle that would make this kind of change. I see where in the code the error is being produced:

if self.mirror and (
                        record.location_base
                        or ".." in record.location_href
                        or record.type == "prestodelta"
                    ):
                        raise ValueError(MIRROR_INCOMPATIBLE_REPO_ERR_MSG)
    

Is the error legitimate or should I change the mirror setting?

It looks like Fedora 34 has prestodelta repodata but Fedora 35 doesn’t, so that might be why.

1 Like

I think you’re running into this: Issue #9486: Some repositories are unnecessarily prevented from using mirror-metadata sync - RPM Support - Pulp

I see the issue is marked fixed and should be in pulp 3.14.6. You could check the current version with rpm -qa | grep python3-pulp-rpm and a yum update on that repo should resolve this in a few days once the packaging for 3.14.6 happens.

Interesting…The fix still seems to be checking for prestodelta type so this might be repo specific and not an issue targeted by this…

Thanks for the insights!

So it sounds like this is desired/expected behavior? I’ve been sync’ing this repo for about a month and this is the first time I’ve seen this error. I get that it could be hard to predict where prestodelta metadata could show up in advance. So it seems like the fix is to set it to mirror “no”, then?

Hi,

i have this issue with AlmaLinux Base Repo and some other repos like Netdata, Open Distro Elasticsearch and some others, i had to turn off mirror on sync on these repos. Having mirror on sync turned of on Alma Base is really bad if a new versions comes out and all of the old packages are still in pulp.

There seems to be a new limit to number of packages to keep (which may be a new feature in pulp 3). REST API for Pulp 3 RPM Plugin The foreman UI exposes this (when mirror_on_sync is false) but it doesn’t appear that hammer does yet, or the Ansible module they provide for managing Foreman/Satellite.

I would think it would be great if this option were exposed, as it might significantly reduce the storage pressure that might be caused by keeping everything.