Project

Profile

Help

Issue #1618

closed

--checksum-type is broken

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

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
2.9.0
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 3
Quarter:

Description

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:

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).

Creating migrations

Both the new checksum fields (wherever they are) and the XML snippets need to be migrated/populated with the existing checksum types.

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.

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.


Related issues

Related to Pulp - Story #1647: Unify checksum management to the platform and add some featuresCLOSED - WONTFIX

Actions
Related to RPM Support - Story #1878: Support for choosing the checksum type in updateinfoCLOSED - CURRENTRELEASEttereshc

Actions
Has duplicate RPM Support - Issue #627: --checksum-type does not affect the checksum used in primary.xmlCLOSED - DUPLICATEActions
Blocks RPM Support - Issue #1619: as user, I can export repo groups with different checksum than sha256CLOSED - CURRENTRELEASEmhrivnakActions

Also available in: Atom PDF