Story #4087

Updated by daviddavis over 1 year ago

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\"]"

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:

Data to create the rpm will need to be parsed from the rpm's headers. See here how We do this in pulp 2. Here's where to do this: start looking:

However, it looks like we use this python package:

Which isn't available on PyPI. We'll either need to release it or find another alternative.