Issue #2729
closedpulp_user_metadata is ignored during ISO import
Description
When using the POST /pulp/api/v2/repositories/<repo_id>/actions/import_upload/ API to get content into an ISO repo, any included pulp_user_metadata in the request is ignored and the created unit instead has an empty pulp_user_metadata.
From review of https://github.com/pulp/pulp_rpm/blob/7b4a800fdbfa6966fdb0d456d46e636ce5a90c1a/plugins/pulp_rpm/plugins/importers/iso/importer.py#L107 it can be seen that the metadata argument isn't used at all during upload_unit - only the unit_key is used.
Expected behavior: for ISO units, in my import_upload POST, if the unit_metadata attribute contains a pulp_user_metadata element, that's saved on the created unit. (This already works for other kinds of units such as RPMs.)
Updated by ttereshc over 7 years ago
- Priority changed from Normal to High
- Triaged changed from No to Yes
Updated by rmcgover over 7 years ago
Note that with the current code, putting pulp_user_metadata in unit_key during the import works (it saves the field on the unit metadata).
So this is a workaround, but I'm not sure if it would be considered a good workaround as it feels like abusing the API in a way which might later stop working if the code is modified so that unit_key only processes fields which are truly part of the unit key.
Updated by bmbouter over 7 years ago
This workaround sounds decent, but it could break in the future for all the reasons you say. I would continue to use it for now until this issue can be fixed. Thanks for posting the workaround.
Added by Jay Zhang almost 6 years ago
Updated by dkliban@redhat.com almost 6 years ago
- Status changed from NEW to MODIFIED
Updated by ttereshc over 5 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
Fix unit_metadata is ignore during iso import [DELIVERY-5965]
Now pulp will set/update the metadata during iso upload