Task #110
closedCreate plan for reimplementing Unit model with mongoengine
100%
Description
This ticket is a draft for the moment, so we can take time and have discussion and think through what the best design is for the Unit class with mongoengine. Let's keep this notice at the top and [Draft] in the subject until we have the details worked out.
Objectives:
- Ensure that every Unit has user_metadata.
Questions:
- Can the repo_content_unit collection be converted to mongoengine before the unit model?
- Can we support an environment where not all units are converted at once?
- How do we support the /types/ api endpoints with a mixture of non-unit & unit models?
- Can we load the models via entrypoints and deprecate the types.json?
- How does Nodes interact with the mongoengine unit models?
- Can we have base model classes that are used by the plugin?
- How do we deal with migrations to the unit models as we standardize?
- How do we deal with unit types that have no data on the filesystem?
- How do we deal with unit types that have a single file on the filesystem?
- How do we deal with unit types that have multiple files on the filesystem? For units with multiple files, what if they have very large numbers of files (for example, some yum repos nest entire additional repositories using the treeinfo file.
- How do we deal with unit types where multiple units share a single piece of content on the filesystem (ostree)?
- Can the unit model emulate the transfer unit such that we can replace the transfer units with the mongoengine model?
Deliverables:
- a diagram of unit data modeling
- a wiki describing the plan
- a deep dive on the plan for the team
Results:
Wiki & Diagram can be found at: https://fedorahosted.org/pulp/wiki/ConvertingUnitsToMongoengine
Updated by bcourt over 8 years ago
This refactor task could be used to design the platform level changes required to support using mongoengine based unit models.
Updated by mhrivnak over 8 years ago
- Tracker changed from Refactor to Task
- Subject changed from [Draft] Reimplement our Unit model with mongoengine to Create plan for reimplementing Unit model with mongoengine
Updated by cduryee over 8 years ago
Does this story include investigating how to remove plugin units vs units, and associated data transfer code?
Updated by bmbouter over 8 years ago
Can the deliverables include a diagram of the relational nature of the unit collections? That would help me understand any written plan better.
Updated by bmbouter over 8 years ago
- Tags Groomed added
- Tags deleted (
Sprint Candidate)
Updated by bcourt over 8 years ago
- Sprint/Milestone set to 14
- % Done changed from 50 to 80
Remaining work is to get approval at the team meeting on April 2 and then build out all the stories & tasks required
Updated by bcourt over 8 years ago
- Status changed from ASSIGNED to CLOSED - CURRENTRELEASE
- % Done changed from 80 to 100
Updated by bmbouter over 8 years ago
- Sprint Candidate set to Yes
- Tags deleted (
Sprint Candidate)