Project

Profile

Help

Story #4087

closed

As a user, I can upload an rpm file with a single request

Added by daviddavis over 5 years ago. Updated over 4 years ago.

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

100%

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

Description

Currently, users have to submit three requests to upload an rpm to a repository:

$ http --form POST :8000/pulp/api/v3/artifacts/ file@dog-4.23-1.noarch.rpm    
$ http POST :8000/pulp/api/v3/content/rpm/packages/ ...
$ http POST ':8000'$REPO_HREF'versions/' add_content_units:="[\"$CONTENT_HREF\"]"

See https://github.com/pulp/pulp_rpm/blob/master/docs/workflows/upload.rst for more info.

The goal of this story is to allow users to upload rpm packages in a single call:

$ http --form POST :8000/pulp_rpm/upload/ repository=$REPO_HREF file@dog-4.23-1.noarch.rpm

See this proof of concept in pulp_ansible as an example:

https://github.com/pulp/pulp_ansible/pull/65

Data to create the rpm will need to be parsed from the rpm's headers. See here how to do this:

https://github.com/pulp/pulp_rpm/blob/f79ec2965db6667c30ad6ce528b99eb8b831b797/pulp_rpm/app/viewsets.py#L91-L96


Related issues

Related to RPM Support - Test #4285: Test one-shot uploaderCLOSED - COMPLETEkersomActions
Related to RPM Support - Issue #4485: Failure when attempting to use single request upload for a rpm already present in pulpCLOSED - CURRENTRELEASEppickaActions

Also available in: Atom PDF