pulp / pulp/pulpcore

Provide checksum check on uncommited upload that is transformed into a content unit

Open
#5,883 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature
Dominant language
Python
Stars
598
Forks
168
Avg merge
1d 4h
Merged PRs (30d)
86

Description

Is your feature request related to a problem? Please describe.
In https://github.com/pulp/pulpcore/issues/5875 we had a discussion about that it is no longer allowed to list artifacts.

That lead to the point that if you want a chunked upload transform in a content unit you should call one of the following on an uncommitted upload
https://pulpproject.org/pulp_file/restapi/#tag/Content:-Files/operation/content_file_files_create
https://pulpproject.org/pulp_rpm/restapi/#tag/Content:-Packages/operation/content_rpm_packages_create

One of the benefits of the /commit step of the chunked upload was that you could verify the end result with a checksum. This is no longer possible in the new scenario

Describe the solution you'd like
Option to pass a checksum when an uncommitted upload is transformed in a content unit. I guess it could also benefit regular uploads and file_url's to have a checksum verification

Describe alternatives you've considered
None

Additional context
This is a consequence of not allowing non admins to list artifacts and allow artifacts to change in content units

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked content_file_files_create and content_rpm_packages_create REST operations and the discussion in issue 5875. Define how a checksum is supplied and verified when an uncommitted upload becomes a content unit, including whether regular uploads and file URLs are covered; done means the requested checksum validation is supported and tested.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.