Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2015-06-05T19:34:46ZPulp
Planio Docker Support - Refactor #1037 (CLOSED - CURRENTRELEASE): Remove manual setting for repo.repo_idhttps://pulp.plan.io/issues/10372015-06-05T19:34:46Zbcourtbcourt@redhat.com
<p>Remove manual setting of repo.repo_id = repo_transfer.id throughout Docker and OSTree plugins.</p>
<p>All other usages should already use repo_transfer.repo_obj to access the native object (with its id) from the repo_transfer object.</p> Pulp - Story #934 (CLOSED - CURRENTRELEASE): Update mongoengine dependency to 0.9https://pulp.plan.io/issues/9342015-05-01T14:55:13Zbcourtbcourt@redhat.com
<p>After mongoengine 0.9 is released we should update the Pulp dependency from 0.7.10 to 0.9 across all our platforms.</p>
<p>Deliverables:</p>
<ul>
<li>Spec file updates for base dependency</li>
<li>pulp/server/pulp/server/db/manage.py:ensure_database_indexes() is updated to only use the Document.ensure_indexes() method</li>
<li>pulp/server/pulp/server/db/model/base.py:update_one() is removed</li>
</ul> Pulp - Refactor #888 (CLOSED - CURRENTRELEASE): pulp_manage_db needs to run .ensure_indexes() on ...https://pulp.plan.io/issues/8882015-04-14T18:57:37Zbcourtbcourt@redhat.com
<p>After pulp-manage-db performs all the migrations it should load all the models for the core collections (repos, tasks, repo_content_units, etc.) and run the ensure_indexes() method on the models to make sure that the Pulp required indexes are maintained.</p>
<p>Deliverables:</p>
<ul>
<li>Create a list that stores the class paths to provide the loading of all models for core collections</li>
<li>
<a href="https://pulp.plan.io/issues/765" class="external">Platform models that have already been converted</a> are included in the list of models above</li>
<li>Updates to pulp-manage-db calls ensure_indexes() on each loaded class in the list above</li>
<li>Mongoengine conversion guide is updated to include adding the model to this collection of calls.</li>
</ul> Debian Support - Refactor #878 (CLOSED - CURRENTRELEASE): Convert pulp_deb to use MongoEngine modelshttps://pulp.plan.io/issues/8782015-04-10T17:35:20Zbcourtbcourt@redhat.com
<p>Convert the pulp_deb to use MongoEngine models for all unit actions instead of the associated unit</p>
<p>Deliverables:</p>
<ul>
<li>ContentUnit model for docker_image units
<ul>
<li>The model is registered via the entry point</li>
<li>The types .json file is removed, and references to it in the spec files are are also removed</li>
</ul>
</li>
<li>All interactions with units in the plugin use the new unit model and the Repository model for creating, saving and updating units</li>
<li>Convert the model according to the <a href="https://fedorahosted.org/pulp/wiki/ConvertingModelsToMongoengine#StepsinvolvedinconvertingaPulpmodeltoMongoEngine" class="external">conversion guide</a>
</li>
</ul>
<p>Supported operations:</p>
<p>Milestone 1:</p>
<ul>
<li>Create repository to host deb packages</li>
<li>Add deb unit to deb repository (implementation detail: importer needs to work)</li>
<li>Publish apt repository (implementation detail: distributor needs to work)</li>
<li>Sign repository metadata within the distributor</li>
</ul>
<p>Milestone 2:</p>
<ul>
<li>Ability to sync a repo produced at milestone 1 (one dist, one component, one architecture)</li>
</ul>
<p>To be done later:</p>
<ul>
<li>Full mirror support - problematic for several reasons:
<ul>
<li>we need a way to keep track of which deb unit came from which dist/component/architecture</li>
<li>in order to not invalidate the repo metadata signature, we may have to save the repo metadata files and publish exactly those.</li>
</ul>
</li>
<li>Partial mirror
<ul>
<li>ability to specify a whitelist of dist/component/architecture combinations to be synced</li>
</ul>
</li>
</ul> Python Support - Refactor #877 (CLOSED - CURRENTRELEASE): convert pulp_python to use MongoEngine ...https://pulp.plan.io/issues/8772015-04-10T17:34:02Zbcourtbcourt@redhat.com
<p>Convert the pulp_python to use MongoEngine models for all unit actions instead of the associated unit</p>
<p>Deliverables:</p>
<ul>
<li>ContentUnit model for Package units
<ul>
<li>The model is registered via the entry point</li>
<li>The types .json file is removed, and references to it in the spec files are are also removed</li>
</ul>
</li>
<li>All interactions with units in the plugin use the new unit model and the Repository model for creating, saving and updating units</li>
<li>Convert the model according to the <a href="https://fedorahosted.org/pulp/wiki/ConvertingModelsToMongoengine#StepsinvolvedinconvertingaPulpmodeltoMongoEngine" class="external">conversion guide</a>
</li>
</ul> OSTree Support - Refactor #876 (CLOSED - CURRENTRELEASE): Convert pulp_ostree to use MongoEngine ...https://pulp.plan.io/issues/8762015-04-10T17:32:26Zbcourtbcourt@redhat.com
<p>Convert the pulp_ostree to use MongoEngine models for all unit actions instead of the associated unit</p>
<p>Deliverables:</p>
<ul>
<li>ContentUnit model for docker_image units
<ul>
<li>The model is registered via the entry point</li>
<li>The types .json file is removed, and references to it in the spec files are are also removed</li>
</ul>
</li>
<li>All interactions with units in the plugin use the new unit model and the Repository model for creating, saving and updating units</li>
</ul> Puppet Support - Refactor #875 (CLOSED - CURRENTRELEASE): Convert pulp_puppet to use MongoEngine ...https://pulp.plan.io/issues/8752015-04-10T17:31:24Zbcourtbcourt@redhat.com
<p>Convert the pulp_puppet to use MongoEngine models for all unit actions instead of the associated unit</p>
<p>Deliverables:</p>
<ul>
<li>ContentUnit model for docker_image units
<ul>
<li>The model is registered via the entry point</li>
<li>The types .json file is removed, and references to it in the spec files are are also removed</li>
</ul>
</li>
<li>All interactions with units in the plugin use the new unit model and the Repository model for creating, saving and updating units</li>
</ul> RPM Support - Refactor #874 (CLOSED - CURRENTRELEASE): Convert pulp_rpm to use MongoEngine Modelshttps://pulp.plan.io/issues/8742015-04-10T17:30:25Zbcourtbcourt@redhat.com
<p>Convert the pulp_rpm to use MongoEngine models for all unit actions instead of the associated unit</p>
<p>Deliverables:</p>
<ul>
<li>ContentUnit model for docker_image units
<ul>
<li>The model is registered via the entry point</li>
<li>The types .json file is removed, and references to it in the spec files are are also removed</li>
</ul>
</li>
<li>All interactions with units in the plugin use the new unit model and the Repository model for creating, saving and updating units</li>
</ul> Pulp - Refactor #865 (CLOSED - CURRENTRELEASE): Create a SharedContentUnit that extends the Conte...https://pulp.plan.io/issues/8652015-04-10T15:43:25Zbcourtbcourt@redhat.com
<p>The SharedContentUnit provide generic support for the shared content pattern used by pulp_ostree</p>
<p>Deliverables:</p>
<ul>
<li>A base SharedContentUnit mongoengine model that implements the shared content pattern used by pulp_ostree</li>
</ul> Docker Support - Refactor #863 (CLOSED - CURRENTRELEASE): Convert pulp_docker to use MongoEngine ...https://pulp.plan.io/issues/8632015-04-10T15:32:38Zbcourtbcourt@redhat.com
<p>Convert the pulp_docker to use MongoEngine models for all unit actions instead of the associated unit</p>
<p>Deliverables:</p>
<ul>
<li>ContentUnit model for docker_image units
<ul>
<li>The model is registered via the entry point</li>
<li>The types .json file is removed, and references to it in the spec files are are also removed</li>
</ul>
</li>
<li>All interactions with units in the plugin use the new unit model and the Repository model for creating, saving and updating units</li>
</ul> Pulp - Refactor #862 (CLOSED - CURRENTRELEASE): Add unit association and querying support to the ...https://pulp.plan.io/issues/8622015-04-10T14:59:46Zbcourtbcourt@redhat.com
<p>Add the ability to query units via the Repository model</p>
<ul>
<li>Add method find_units(association_q, unit_q, limit, skip) that returns an iterable. This iterable yields repo_content_units with a 'unit' attribute on each item that is filled in by the find_units iterator(), if limit is unspecified all units will be returned, if skip is unspecified then the first batch will be returned</li>
<li>Add method add_unit(model) that creates/updates the repo_content_unit collection entry for the unit</li>
<li>Add method add_units(model_iterable) that creates/updates the repo_content_unit collection entry for every model in the iterable.</li>
<li>content_unit_counts should be updated automatically whenever units are added or removed from the repository</li>
<li>Add a method to remove_unit(unit_model) remove a unit by passing in the unit object.</li>
<li>Add a method to remove_units(association_qs, unit_qs) to remove units matching a filter.</li>
</ul> Pulp - Refactor #861 (CLOSED - CURRENTRELEASE): Convert usage of pulp.plugins.model.Repository to...https://pulp.plan.io/issues/8612015-04-10T14:35:44Zbcourtbcourt@redhat.com
<p>Convert all usage of the pulp.plugins.model.Repository object to use the Repository MongoEngine model</p>
<p>Deliverables:</p>
<ul>
<li>All usages of pulp.plugins.model.Repository are replaced with Repository MongoEngine model</li>
<li>All references to the pulp.plugins.model.Repository and the repo_transfer unit are removed</li>
</ul>
<p><a href="https://fedorahosted.org/pulp/wiki/ConvertingModelsToMongoengine#StepsinvolvedinconvertingaPulpmodeltoMongoEngine" class="external">conversion guide</a></p> Pulp - Refactor #860 (CLOSED - CURRENTRELEASE): Convert the repositories API & managers to use th...https://pulp.plan.io/issues/8602015-04-10T13:57:18Zbcourtbcourt@redhat.com
<p>Convert managers and rest API to use the MongoEngine model.</p>
<p>Deliverables:</p>
<ul>
<li>All manager/api use of repos collection uses the mongoengine model instead of the database</li>
</ul>
<ul>
<li>Convert the model according to the <a href="https://fedorahosted.org/pulp/wiki/ConvertingModelsToMongoengine#StepsinvolvedinconvertingaPulpmodeltoMongoEngine" class="external">conversion guide</a>
</li>
</ul> Pulp - Refactor #853 (CLOSED - CURRENTRELEASE): Create the pulp.unit_models entry pointhttps://pulp.plan.io/issues/8532015-04-08T20:18:19Zbcourtbcourt@redhat.com
<p>Create a python entry point for 'pulp.unit_models' the entry points will be created in the format 'type_id=mongoengine.model.class'.</p>
<p>Upon platform initialization all the MongoEngine models should be loaded and have the appropriate signals attached to support setting the creation time, last_updated time, and moving content into the server content directory.</p>
<p>Deliverables:</p>
<ul>
<li>Entry point for the models ('pulp.unit_models')</li>
<li>Server loads the entry point during server initialization and keeps the map of models in memory</li>
<li>Platform method to get a model by type_id</li>
<li>When server registers a model from the entry point it ensures that the following signals are registered:
<ul>
<li>pulp.server.db.model.ContentUnit.post_init_signal</li>
<li>pulp.server.db.model.ContentUnit.pre_save_signal</li>
<li>pulp.server.db.model.ContentUnit.post_save_signal</li>
</ul>
</li>
<li>All models registered in this fashion have their indexes created by pulp-manage-db</li>
</ul> Pulp - Refactor #849 (CLOSED - CURRENTRELEASE): Remove the owner_type and owner_id from repo_cont...https://pulp.plan.io/issues/8492015-04-07T14:10:47Zbcourtbcourt@redhat.com
<p>The fields owner_type and owner_id are no longer used in the repo_content_units collection</p>
<ul>
<li>Remove them from the internal API calls</li>
<li>Remove them from the mongoengine indexes</li>
<li>Create a migration to remove them from the current repo_content_units table
<ul>
<li>The migration should validate that there are no entries in the database where (repo_id, unit_id) do not form a unique key. A manual update of the database will be required in that case.</li>
</ul>
</li>
</ul>
<p>These fields are not in our docs or examples, should not have been exposed by the API to begin with, and are not in known use today.</p>