Bug 1329292

Summary: Can't upload repository content via API
Product: Red Hat Satellite Reporter: Andrii Balakhtar <abalakht>
Component: RepositoriesAssignee: David Davis <daviddavis>
Status: CLOSED ERRATA QA Contact: Katello QA List <katello-qa-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.2.0CC: bbuckingham
Target Milestone: UnspecifiedKeywords: Regression, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/14819
Whiteboard:
Fixed In Version: rubygem-katello-3.0.0.27-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-27 11:02:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Andrii Balakhtar 2016-04-21 14:33:20 UTC
Description of problem:
Cannot upload content into repository via API, receiving 500 Error NoMethodError: undefined method `collect' for #<ActionDispatch::Http::UploadedFile:0x007fa0505974a8>
 | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.0.0.18/app/controllers/katello/api/v2/repositories_controller.rb:266:in `upload_content'


Version-Release number of selected component (if applicable):
Sat6.2 Beta Snap9

How reproducible:
Always

Steps to Reproduce:
1. Make sure you have some product with repo.
2. Try to upload repo content via API (POST /katello/api/repositories/:id/upload_content)
3.

Actual results:
2016-04-21 17:20:19 - nailgun.client - DEBUG - Making HTTP POST request to https://example.com/katello/api/v2/repositories/248/upload_content with options {'files': {'content': <open file '/home/andrii/workspace/robottelo/tests/foreman/data/which-2.19-6.el6.x86_64.rpm', mode 'rb' at 0x7f7bf27dbed0>}, 'verify': False, 'auth': ('admin', '***')} and no data.
2016-04-21 17:20:20 - nailgun.client - WARNING - Received HTTP 500 response: {"displayMessage":"undefined method `collect' for #\u003cActionDispatch::Http::UploadedFile:0x007fa0505974a8\u003e","errors":["undefined method `collect' for #\u003cActionDispatch::Http::UploadedFile:0x007fa0505974a8\u003e"]}

Expected results:
Content was uploaded successfully

Additional info:
Works as expected via CLI

Comment 4 Partha Aji 2016-04-26 13:57:08 UTC
Created redmine issue http://projects.theforeman.org/issues/14819 from this bug

Comment 5 Bryan Kearney 2016-05-03 16:19:17 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/14819 has been closed

Comment 6 Andrii Balakhtar 2016-05-17 11:05:30 UTC
VERIFIED on Sat 6.2.0 GA SNAP 11. All the automated tests which are using `upload_content` are passing.

Comment 7 Bryan Kearney 2016-07-27 11:02:19 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1501