Bug 1061130
| Summary: | Corrupted data in api call import_upload for rpm causes server-side error with no explanation | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Retired] Pulp | Reporter: | Tomas Kopecek <tkopecek> | ||||
| Component: | API/integration | Assignee: | Michael Hrivnak <mhrivnak> | ||||
| Status: | CLOSED UPSTREAM | QA Contact: | Preethi Thomas <pthomas> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | unspecified | CC: | mhrivnak, pthomas, rbarlow, skarmark | ||||
| Target Milestone: | --- | Keywords: | Triaged | ||||
| Target Release: | 2.6.0 | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2015-02-28 22:02:23 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: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
Created attachment 975401 [details]
script to reproduce
This script should reproduce the problem, but it seems to show that the problem no longer exists.
To use, create an rpm repo named "foo" first, then run the script. Adjust credentials in the script as necessary.
This seems to have been fixed at some point in the past. See script above for a reproducer. It should print that all response codes are 20x, like this: $ ./1061130.py initialize: 201 upload segment: 200 import upload: 202 verified [root@cloud-qe-4 ~]# rpm -qa pulp-server pulp-server-2.6.0-0.5.beta.el7.noarch [root@cloud-qe-4 ~]# [root@cloud-qe-4 ~]# ./upload.py initialize: 201 upload segment: 200 import upload: 202 [root@cloud-qe-4 ~]# Moved to https://pulp.plan.io/issues/395 |
When I try upload to upload correct rpm metadata with corrupted import, I've got only HTTP 500 with no correct error response. Not sure what happened on server and if there is everything reverted correctly. It can happen even in normal process - incompletely uploaded file, or corrupted on the way. I want to get some error message like 'File doesn't match metadata'. reproducer: parse unit_key/metadata for rpm: {'arch': 'noarch', 'checksum': '8e1dd60ef4c59ca7864ed9c5a818a3f087b544f469259f163a9fa80da73bd2e4', 'checksumtype': 'sha256', 'epoch': '0', 'name': 'pulp-nodes-consumer-extensions', 'release': '1.fc19', 'version': '2.3.1'} {'buildhost': 'localhost', 'description': 'Pulp nodes consumer client extensions.', 'filename': 'pulp-nodes-consumer-extensions-2.3.1-1.fc19.noarch.rpm', 'license': 'GPLv2', 'relativepath': 'pulp-nodes-consumer-extensions-2.3.1-1.fc19.noarch.rpm', 'vendor': None} upload incorrect file: upload_id = upload_api.initialize_upload().response_body['upload_id']: upload_api.upload_segment(upload_id, 0, 'bogus_data') upload_api.import_upload(upload_id, NOCHANNEL_REPO, 'rpm', unit_key, metadata) got ApacheException with messsage: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>500 Internal Server Error</title> </head><body> <h1>Internal Server Error</h1> <p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p> <p>Please contact the server administrator, sysadmin-engops and inform them of the time the error occurred, and anything you might have done that may have caused the error.</p> <p>More information about this error may be available in the server error log.</p> </body></html>