Project

Profile

Help

Story #1684

Updated by bmbouter about 8 years ago

When publishing, Pulp doesn't keep old repodata files, when metadata is changed, Pulp generates additive or completely new content of “repodata” directory. In both cases with checksums enabled, any change to the metadata contents results in a completely new filename since the checksum is the first portion of the filename. 

 Yum as a client caches the repomd.xml for some period of time, which names these files in the repodata directory which have checksums on them. Upon republish, older publish metadata should be left in tact so they can be found by a cached repomd.xml file. Old repodata files are kept up to 14 days by default on Yum, so Pulp should clean up old metadata files older than 14 days. This should be configurable on the distributor as metadata_retention_days specifying an integer number of days metadata should be retained. This value may also be set to 0 which causes old repo metadata to be removed immediately on publish. 

 Note that old metadata cannot be modified because its checksum would likely change which defeats the point of this feature. It should be left alone. 

 Because of this, no attempt shall be made to update old metadata if packages are not found. In that case the yum client will receive a 404 which it can handle. 

 Perhaps for backwards compatibility, the default for this feature should be 0 which was the old behavior.

Back