Project

Profile

Help

Story #1684

closed

Retain Old Repodata on Re-publish

Added by bmbouter about 8 years ago. Updated almost 5 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

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 6 hours by default on Yum, so Pulp should clean up old metadata files older than 6 hours. Yum has this configuration in yum.conf as the metadata_expire which is the time (in seconds) after which the metadata will expire.

This will be a new option on the Yum Distributor named metadata_retention_hours specifying how long metadata should be retained in hours. This value may also be set to 0 which causes old repo metadata to be removed immediately on publish. This feature should default to 6 hours to align with the yum default.

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.


Related issues

Related to Pulp - Issue #5573: Publish won't create multiple checkecksummed copies of primary.xml, fileliststs.xml etc even when in fast-forward modeCLOSED - CURRENTRELEASEActions

Also available in: Atom PDF