Issue #2681
closed
Store errata package lists in a separate collection
Status:
CLOSED - CURRENTRELEASE
Description
This story has 5 deliverables.
1. New model for storing errata package lists. This model needs at least three fields: repo_id, errata_id, package_list.
2. Update yum importer to use the new model when storing errata package lists.
3. Update yum distributor to use the new model when publishing errata.
4. Migration that will take all the package lists stored inside each document in the units_erratum collection and move them into the new errata_package_lists collection.
5. Update yum profiler to use the new model when calculating applicability for errata.
Search and some API calls which select units from db may expect pkglist to be present. We need to check with Katello if they use errata pkglist anywhere or not. Solved, no API change.
Issue #2568 is different, just the error message would be the same.
- Tracker changed from Issue to Story
- Subject changed from Orphan cleanup does not handle errata package lists correctly to Store errata package lists in a separate collection
- Description updated (diff)
- % Done set to 0
- Description updated (diff)
If we can think of any way that the new collection could be pre-populated while Pulp is up and running, to reduce the downtime required to migrate, that could be very valuable. But not a requirement.
- Groomed changed from No to Yes
- Sprint Candidate changed from No to Yes
- Sprint/Milestone set to 37
- Status changed from NEW to ASSIGNED
- Assignee set to ttereshc
I think we can still make errata pkglist available via API. So I suggest to ignore checklist item at least for now.
- Sprint/Milestone changed from 37 to 38
- Status changed from ASSIGNED to POST
- Description updated (diff)
To test PRs:
- check out both, plugin PR depends on platform one.
- do not forget to re-install Pulp becasue new entrypoint was added
Affected parts worth checking:
- erratum sync
- erratum upload
- erratum publish
- incremental export of erratum
- errata applicability (hint: behavior preserved by using serializer)
- search API (hint: behavior preserved by using serializer)
- orphan removal (check that pkglists related to erratum are deleted from their mongo collection when erratum itself is cleaned up)
- migration can be re-run multiple times (only first run is noticeable in terms of running time, all the subsequent ones should be very fast, no db writes at all)
I do not think any specific smash issue needed.
If all general tests which include mentioned affected parts are passed, then everything is ok.
- Sprint/Milestone changed from 38 to 39
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
- Platform Release set to 2.14.0
- Tracker changed from Story to Issue
- Severity set to 2. Medium
- Platform Release changed from 2.14.0 to 2.13.3
- Triaged set to No
- Triaged changed from No to Yes
- Status changed from MODIFIED to 5
- Status changed from 5 to CLOSED - CURRENTRELEASE
- Sprint/Milestone deleted (
39)
Also available in: Atom
PDF
Support for storing units in multiple collections
The following is added:
Also migration progress logging util is added
re #2681 https://pulp.plan.io/issues/2681