How to deal with removed/updated packages

Especially Epel, but maybe other repos too, seems to remove older package versions quite often. This is no problem for the repo syncing, as “Mirror on sync” removes the old package versions and adds the new ones.
But how do you deal with the content views?
These still refer to the old versions and this leads to 404 errors when trying to install packages from Epel.
Do you have to create new content view versions on a let’s say daily basis?


I am a little confused by your problem to be honest. Usually, CV versionss should ensure that packages remain available even if the underlying repos change. At least, that is how it is intended to work from my understanding and experience.
Is your download policy for those repos set to “On demand”? That would explain your issue since it is obviously not possible to download a package on demand if it is not available upstream anymore.


Yes, I’m using the “on-demand” feature, which was - in my opinion - the “killer feature” of Pulp.
But now when you are talking about it, It obviously makes sense that you can’t download removed packages on-demand.
But then they should be removed from the CV after the sync of the repo too. Best with reporting it to the admins. Throwing 404s on the users is in my opinion the worst way to handle this.
Also it should be noted somewhere in the docs, that “on-demand” sync is only usable for use cases, where your repos never change.

OK, this at least explains the behaviour.
I think we do have a clash of interests here. On the one hand, throwing errors at your users is never a good behaviour. On the other hand, the stated goal of a CV is the immutability of its content.
I personally dislike the on-demand sync quite a lot since it has by now caused way more headache for me than it has solved. So I would advise against using it at all, but that’s just my personal opinion.
Also, if you have suggestions on improving the docs(and maybe even a good idea on how to word it), feel free to file a PR at :slight_smile:


1 Like