Actions
Issue #4924
closedKeyError during migration 0004
Start date:
Due date:
Estimated time:
Severity:
4. Urgent
Version - Debian:
master
Platform Release:
2.20.0
Target Release - Debian:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:
Description
When there are importers with an empty "config" dict, migration 0004 will throw a KeyError
Applying migration pulp_deb.plugins.migrations.0004_add_distribution failed.
Halting migrations due to a migration failure.
'releases'
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 279, in main
return _auto_manage_db(options)
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 346, in _auto_manage_db
migrate_database(options)
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 175, in migrate_database
update_current_version=not options.test)
File "/usr/lib/python2.7/site-packages/pulp/server/db/migrate/models.py", line 206, in apply_migration
migration.migrate()
File "/usr/lib/python2.7/site-packages/pulp_deb/plugins/migrations/0004_add_distribution.py", line 74, in migrate
distributions = repo_importer['config']['releases'].split(',')
KeyError: 'releases'
Related issues
Actions
Fix migration 0004 for importers with empty config
This fix prevents KeyErrors during migration 0004. These can happen when there are importers with empty "config" dict.
In addition, the release['suite'] access has now also been guarded. All field access have been double checked to make sure they are sufficiently guarded.
fixes #4924 https://pulp.plan.io/issues/4924