Issue #1618
Updated by jcline@redhat.com over 8 years ago
Because rhel-5 doesn't support sha256 checksum type, we need to pulp to be able to generate repodata with different checksum type than default one.
This is not a trivial fix and involves several significant changes. For detailed discussion of these problems, see the notes below, but the following outlines tasks that probably need to be done for this issue:
h2. Modifying the data models
There is currently a story (#1647) that tracks properly modeling content. This involves having a table that has a record for each and every file managed by Pulp. That's probably not something we want to bite off for this issue. It is probably best to just change the parent class of RPM, DRPM, etc. to contain several checksum fields, but maybe adding it to the platform somewhere would be easier.
In addition to the checksums, the current implementation contains XML snippets with the checksum and checksum type. These need to be turned to templates that are filled in with the appropriate checksum. This rendering should probably live as a method on the model(s).
h2. Creating migrations
Both the new checksum fields (wherever they are) and the XML snippets need to be migrated/populated with the existing checksum types.
h2. Create Task to Checksum Files
We need a way to generate these new checksums. As part of #1647, we'll want a task to "scrub" Pulp for corrupted files, and we might be able to lay the groundwork here. Perhaps not, but it's worth thinking about during implementation. In this particular instance the task wouldn't be dispatched (just called synchronously inside the publish task), but we'd be able to share code.
h2. Ensure Publish Handles Edge Cases
With lazy syncing in the mix, we might not have the files available to checksum. We need to make sure we fail gracefully in cases where a file isn't available.