Bug 1016612
| Summary: | Pulp needs to have support for uploading srpms | ||
|---|---|---|---|
| Product: | [Retired] Pulp | Reporter: | Laurent Bigonville <bigon> |
| Component: | rpm-support | Assignee: | Barnaby Court <bcourt> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Preethi Thomas <pthomas> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 2.2 | CC: | bcourt, jbaird, kris.buytaert, mhrivnak, pthomas, skarmark |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | 2.4.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-08-09 06:57:13 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: | |||
This turned out to be that the user had SRPMs in the RPM collection. This does point out that we lack a srpm upload command, so we should add that to resolve this issue. Changing the summary according to #c1 We already support uploading RPMs manually using "pulp-admin rpm repo uploads srpm --repo-id <repoid> --file <filename>" I verified this command using the current master branch. [root@pulp-24-server upload]# rpm -qa pulp-server
pulp-server-2.4.0-0.9.beta.el6.noarch
[root@pulp-24-server upload]#
[root@pulp-24-server upload]# pulp-admin rpm repo uploads srpm --repo-id srpm -f /root/upload/test-srpm01-1.0-1.src.rpm -v
+----------------------------------------------------------------------+
Unit Upload
+----------------------------------------------------------------------+
Extracting necessary metadata for each request...
[==================================================] 100%
Analyzing: test-srpm01-1.0-1.src.rpm
... completed
Files to be uploaded:
test-srpm01-1.0-1.src.rpm
Creating upload requests on the server...
[==================================================] 100%
Initializing: test-srpm01-1.0-1.src.rpm
... 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.
Uploading: test-srpm01-1.0-1.src.rpm
[==================================================] 100%
1607/1607 bytes
... completed
Importing into the repository...
Import postponed due to queued operations against the repository. The progress
of this import can be viewed in the repository tasks list.
[root@pulp-24-server upload]#
This has been fixed in Pulp 2.4.0-1. I think I may be hitting the same bug. I'm migrating from 2.3.1 to 2.4.1.
The pulp-manage-db fails:
...
Applying pulp_rpm.plugins.migrations version 9
Migration to pulp_rpm.plugins.migrations version 9 complete.
Applying pulp_rpm.plugins.migrations version 10
Migration to pulp_rpm.plugins.migrations version 10 complete.
Applying pulp_rpm.plugins.migrations version 11
Applying migration pulp_rpm.plugins.migrations.0011_new_importer failed.
Halting migrations due to a migration failure. See log for details.
'NoneType' object has no attribute 'text'
The logs:
pulp: pulp.server.db.manage:CRITICAL: Applying migration pulp_rpm.plugins.migrations.0011_new_importer failed.
pulp: pulp.server.db.manage:CRITICAL:
pulp: pulp.server.db.manage:CRITICAL: Halting migrations due to a migration failure.
pulp: pulp.server.db.manage:CRITICAL: 'NoneType' object has no attribute 'text'
pulp: pulp.server.db.manage:CRITICAL: Traceback (most recent call last):
pulp: pulp.server.db.manage:CRITICAL: File "/usr/lib/python2.6/site-packages/pulp/server/db/manage.py", line 111, in main
pulp: pulp.server.db.manage:CRITICAL: _auto_manage_db(options)
pulp: pulp.server.db.manage:CRITICAL: File "/usr/lib/python2.6/site-packages/pulp/server/db/manage.py", line 157, in _auto_manage_db
pulp: pulp.server.db.manage:CRITICAL: migrate_database(options)
pulp: pulp.server.db.manage:CRITICAL: File "/usr/lib/python2.6/site-packages/pulp/server/db/manage.py", line 86, in migrate_database
pulp: pulp.server.db.manage:CRITICAL: update_current_version=not options.test)
pulp: pulp.server.db.manage:CRITICAL: File "/usr/lib/python2.6/site-packages/pulp/server/db/migrate/models.py", line 161, in apply_m
pulp: pulp.server.db.manage:CRITICAL: migration.migrate()
pulp: pulp.server.db.manage:CRITICAL: File "/usr/lib/python2.6/site-packages/pulp_rpm/plugins/migrations/0011_new_importer.py", line
pulp: pulp.server.db.manage:CRITICAL: _migrate_collection(type_id)
pulp: pulp.server.db.manage:CRITICAL: File "/usr/lib/python2.6/site-packages/pulp_rpm/plugins/migrations/0011_new_importer.py", line
pulp: pulp.server.db.manage:CRITICAL: package['sourcerpm'] = format_element.find('sourcerpm').text
pulp: pulp.server.db.manage:CRITICAL: AttributeError: 'NoneType' object has no attribute 'text'
pulp: pulp.server.db.manage:CRITICAL:
|
Hi, Description of problem: Today I tried to update pulp to 2.2 from 2.1 and pulp-manage-db is failing with a backtrace Version-Release number of selected component (if applicable): 2.2 How reproducible: Always Steps to Reproduce: 1. Update pulp RPM's to 2.2 2. run pulp-manage-db Actual results: It fails with the following backtrace: # pulp-manage-db Beginning database migrations. Migration package pulp.server.db.migrations is up to date at version 4 Migration package pulp_puppet.plugins.migrations is up to date at version 0 Applying pulp_rpm.migrations version 8 Migration to pulp_rpm.migrations version 8 complete. Applying pulp_rpm.migrations version 9 Migration to pulp_rpm.migrations version 9 complete. Applying pulp_rpm.migrations version 10 Migration to pulp_rpm.migrations version 10 complete. Applying pulp_rpm.migrations version 11 Applying migration pulp_rpm.migrations.0011_new_importer failed. See log for details. 2013-10-08 11:52:52,924 db:CRITICAL: Applying migration pulp_rpm.migrations.0011_new_importer failed. 2013-10-08 11:52:52,925 db:CRITICAL: 'NoneType' object has no attribute 'text' 2013-10-08 11:52:52,998 db:CRITICAL: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pulp/server/db/manage.py", line 79, in migrate_database update_current_version=not options.test) File "/usr/lib/python2.6/site-packages/pulp/server/db/migrate/models.py", line 161, in apply_migration migration.migrate() File "/usr/lib/python2.6/site-packages/pulp_rpm/migrations/0011_new_importer.py", line 29, in migrate _migrate_collection(type_id) File "/usr/lib/python2.6/site-packages/pulp_rpm/migrations/0011_new_importer.py", line 56, in _migrate_collection package['sourcerpm'] = format_element.find('sourcerpm').text AttributeError: 'NoneType' object has no attribute 'text' Database migrations complete. Loading content types. Content types loaded. Expected results: Upgrade being complete Additional info: After some investigation it seems that I have packages with arch=src and with (obviously) and empty "sourcerpm" in the units_rpm collection. > db.units_rpm.find({arch: 'src', sourcerpm: ''}).count() 3 Is this expected? Shouldn't they be in the units_srpm instead. To work around this issue, I changed the following line in 0011_new_importer.py: package['sourcerpm'] = format_element.find('sourcerpm').text by try: package['sourcerpm'] = format_element.find('sourcerpm').text except AttributeError: package['sourcerpm'] = '' I'm not really sure this is the proper way to fix this