Bug 988547 - uploading an erratum fails
Summary: uploading an erratum fails
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Pulp
Classification: Retired
Component: rpm-support
Version: Master
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 2.2.0
Assignee: Nobody
QA Contact: Preethi Thomas
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-25 19:40 UTC by Jeremy Cline
Modified: 2013-09-10 15:44 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-09-10 15:44:22 UTC
Embargoed:


Attachments (Terms of Use)

Description Jeremy Cline 2013-07-25 19:40:03 UTC
Description of problem: attempting to upload an erratum results in the following error: 

The web server reported an error trying to access the Pulp application. The
likely cause is that the pulp-manage-db script has not been run prior to
starting the server. More information can be found in Apache's error log file on
the server itself.



Version-Release number of selected component (if applicable): master


How reproducible: always


Steps to Reproduce:
1. pulp-admin rpm repo create --repo-id=errata-uploads
2. pulp-admin rpm repo uploads erratum  --repo-id=errata-uploads --erratum-id=RHEA-007:0000 --title='Test errata upload' --description='errata description' --version='1' --release='1' --type='bug-fix' --status=stable --update='2013-07-25 18:00:00' --issued='2013-07-25 18:00:00' --pkglist-csv=/home/jcline/test-csv --from='from'

where --pkglist-csv is a file in the format "name,version,release,epoch,arch,filename,checksum,checksum_type,sourceurl"

Actual results:
2013-07-25 15:30:25,967 - INFO - POST request to /pulp/api/v2/repositories/errata-uploads/actions/import_upload/ with parameters {"unit_type_id": "erratum", "upload_id": "1905006e-91f3-4e70-b835-49defff38ae6", "unit_key": {"id": "RHEA-007:0000"}, "unit_metadata": {"status": "stable", "from_str": "from", "updated": "2013-07-25 18:00:00", "description": "errata description", "title": "Test errata upload", "issued": "2013-07-25 18:00:00", "rights": null, "solution": null, "summary": null, "pushcount": 1, "version": "1", "references": [], "release": "1", "reboot_suggested": false, "type": "bug-fix", "pkglist": [{"packages": [{"src": "jwm-devel.home", "name": "grinder_test_package", "arch": "noarch", "sums": "55db7aa2a3c8007451405bcec071f5b96600bcf79a35d0afe5106b987a5ce205", "filename": "grinder_test_package-4.0-1.fc14.noarch.rpm", "epoch": "0", "version": "3.0", "release": "1", "type": "sha256"}], "name": "1", "short": ""}], "severity": null}}
2013-07-25 15:30:25,967 - INFO - Response status : 500 


Expected results: The erratum is successfully uploaded


Additional info: I first noticed an issue when uploading using a branch from pulp-2.2.1 that had not been merged in some time. In this branch, I could upload errata, but it caused a error when it was published. This occured because the publisher was expecting a 'from' field, but the client is using the field 'from_str' instead of 'from'. See the above POST request.

Comment 1 Jeremy Cline 2013-07-31 19:22:58 UTC
Some detailed reproduction instructions:

1. follow the recipe at https://pulp-rpm-user-guide.readthedocs.org/en/pulp-2.1/recipes.html#create-your-own-errata for uploading an erratum
2. Attempt to publish the repository
3. Check /var/log/pulp/pulp.log and confirm the repository was never actually published by checking in https://localhost/pulp/repos/

The log will show the publish never occured.

2013-07-31 15:15:21,731 pulp.server.dispatch.task:ERROR: Pulp exception occurred: PulpExecutionException
Traceback (most recent call last):
  File "/home/jcline/devel/pulp/platform/src/pulp/server/dispatch/task.py", line 138, in _run
    result = call(*args, **kwargs)
  File "/home/jcline/devel/pulp/platform/src/pulp/server/managers/repo/publish.py", line 98, in publish
    result = self._do_publish(repo, distributor_id, distributor_instance, transfer_repo, conduit, call_config)
  File "/home/jcline/devel/pulp/platform/src/pulp/server/managers/repo/publish.py", line 122, in _do_publish
    publish_report = distributor_instance.publish_repo(transfer_repo, conduit, call_config)
  File "/usr/lib/pulp/plugins/distributors/yum_distributor/distributor.py", line 451, in publish_repo
    updateinfo_xml_path = updateinfo.updateinfo(errata_units, repo.working_dir)
  File "/home/jcline/devel/pulp_rpm/pulp_rpm/src/pulp_rpm/yum_plugin/updateinfo.py", line 159, in updateinfo
    'from'             : e.metadata['from'],
PulpExecutionException: Pulp exception occurred: PulpExecutionException
2013-07-31 15:15:21,731 pulp.server.dispatch.task:INFO: FAILURE: Task 5d291a23-1d72-4a93-9969-d51f198e6137: CallRequest: RepoPublishManager.publish(u'errata', u'yum_distributor')

Comment 2 Jeremy Cline 2013-07-31 20:25:17 UTC
https://github.com/pulp/pulp_rpm/pull/290

Comment 3 Jeff Ortel 2013-08-02 03:42:17 UTC
build: 2.2.0-0.23.beta

Comment 4 Preethi Thomas 2013-08-06 17:52:03 UTC
verified
[root@cloud-qe-14 ~]# rpm -q pulp-server
pulp-server-2.2.0-0.24.beta.el6.noarch
[root@cloud-qe-14 ~]# 

[root@cloud-qe-14 ~]# pulp-admin rpm repo create --repo-id=errata
Successfully created repository [errata]

[root@cloud-qe-14 ~]# pulp-admin rpm repo uploads erratum --erratum_id=DEMO_ID_1   --title="1: pulp-test-package bit conservation"   --description="1: pulp-test-package now conserves your precious bits."   --version=1 --release="el6" --type="bugzilla" --status="final"   --updated="`date`" --issued="`date`" --reference-csv=references.csv   --pkglist-csv=package_list.csv --from=pulp-list --repo-id=errata
+----------------------------------------------------------------------+
                              Unit Upload
+----------------------------------------------------------------------+

Extracting necessary metadata for each request...
... completed

Creating upload requests on the server...
[==================================================] 100%
Initializing upload
... completed

Starting upload of selected units. If this process is stopped through ctrl+c,
the uploads will be paused and may be resumed later using the resume command or
cancelled entirely using the cancel command.

Importing into the repository...
... completed

Deleting the upload request...
... completed

[root@cloud-qe-14 ~]# pulp-admin rpm repo publish run --repo-id errata
+----------------------------------------------------------------------+
                     Publishing Repository [errata]
+----------------------------------------------------------------------+

This command may be exited by pressing ctrl+c without affecting the actual
operation on the server.

Publishing packages...
[==================================================] 100%
Packages: 0/0 items
... completed

Publishing distributions...
[==================================================] 100%
Distributions: 0/0 items
... completed

Generating metadata
[\]
... completed

Publishing repository over HTTPS
[-]
... completed

[root@cloud-qe-14 ~]#

Comment 7 Preethi Thomas 2013-09-10 15:44:22 UTC
2.2 released
http://repos.fedorapeople.org/repos/pulp/pulp/stable/2.2/


Note You need to log in before you can comment on or make changes to this bug.