Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2015-06-24T20:51:42ZPulp
Planio RPM Support - Issue #1087 (CLOSED - CURRENTRELEASE): publishing of distribution units should igno...https://pulp.plan.io/issues/10872015-06-24T20:51:42Zbcourtbcourt@redhat.com
<p>Publishing of distribution units should ignore files in the repodata directory. This caused a corrupted publish where the distribution included a primary.xml and the incremental update picked the wrong file because there were two primary.xml files in the directory.</p> RPM Support - Issue #1086 (CLOSED - CURRENTRELEASE): pulp_distribution.xml sync should ignore rep...https://pulp.plan.io/issues/10862015-06-24T20:49:25Zbcourtbcourt@redhat.com
<p>Files that are synced via the pulp_distribution.xml file should ignore all files in the repodata/ directory of the repository.</p> RPM Support - Issue #1042 (CLOSED - CURRENTRELEASE): Exception raised when building error message...https://pulp.plan.io/issues/10422015-06-09T17:33:31Zbcourtbcourt@redhat.com
<p>If a repo is created using a relative_url</p>
<p>The line <a href="https://github.com/pulp/pulp_rpm/blob/pulp-rpm-2.6.1-1/plugins/pulp_rpm/plugins/distributors/yum/configuration.py#L469" class="external">https://github.com/pulp/pulp_rpm/blob/pulp-rpm-2.6.1-1/plugins/pulp_rpm/plugins/distributors/yum/configuration.py#L469</a><br>
is checking which will raise a KeyError if 'relative_url' has not been defined in the distributor config.</p>
<pre><code>conflicting_relative_url = distributor['config']['relative_url'] or conflicting_repo_id
</code></pre>
<p>This should be replaced with something like</p>
<pre><code>if 'relative_url' in distributor['config']:
conflicting_relative_url = distributor['config']['relative_url'] or conflicting_repo_id
else:
conflicting_relative_url = conflicting_repo_id
</code></pre> 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 - Issue #993 (CLOSED - CURRENTRELEASE): Worker discovery takes 30 seconds when all services ...https://pulp.plan.io/issues/9932015-05-20T17:39:07Zbcourtbcourt@redhat.com
<p>When all of the pulp services are restarted at the same time it often takes 30 seconds before the workers are discovered.</p>
<p>When running the script:</p>
<pre><code>[root@bcourt pulp]# /home/bcourt/bin/restart-pulp.sh
++ systemctl stop httpd
++ systemctl stop pulp_workers
++ systemctl stop pulp_resource_manager
++ systemctl stop pulp_celerybeat
++ systemctl stop goferd
++ systemctl stop qpidd
++ systemctl start qpidd
++ systemctl start goferd
++ systemctl start pulp_celerybeat
++ systemctl start pulp_resource_manager
++ systemctl start pulp_workers
++ systemctl start httpd
[root@bcourt pulp]#
</code></pre>
<p>The following are the relevant log entries:</p>
<pre><code>May 20 13:33:42 bcourt.usersys.redhat.com pulp[8229]: pulp.server.webservices.application:INFO: *************************************************************
May 20 13:33:42 bcourt.usersys.redhat.com pulp[8229]: pulp.server.webservices.application:INFO: The Pulp server has been successfully initialized
May 20 13:33:42 bcourt.usersys.redhat.com pulp[8229]: pulp.server.webservices.application:INFO: *************************************************************
May 20 13:33:42 bcourt.usersys.redhat.com pulp[8229]: gofer.messaging.adapter.qpid.connection:INFO: opened: qpid+tcp://localhost:5672
May 20 13:33:42 bcourt.usersys.redhat.com pulp[8229]: gofer.messaging.adapter.connect:INFO: connected: qpid+tcp://localhost:5672
May 20 13:34:10 bcourt.usersys.redhat.com pulp[8185]: pulp.server.async.worker_watcher:INFO: New worker 'reserved_resource_worker-1@bcourt.usersys.redhat.com' discovered
May 20 13:34:10 bcourt.usersys.redhat.com pulp[8185]: pulp.server.async.worker_watcher:INFO: New worker 'reserved_resource_worker-3@bcourt.usersys.redhat.com' discovered
May 20 13:34:10 bcourt.usersys.redhat.com pulp[8185]: pulp.server.async.worker_watcher:INFO: New worker 'reserved_resource_worker-0@bcourt.usersys.redhat.com' discovered
May 20 13:34:11 bcourt.usersys.redhat.com pulp[8185]: pulp.server.async.worker_watcher:INFO: New worker 'reserved_resource_worker-2@bcourt.usersys.redhat.com' discovered
</code></pre>
<p>This looks like a race condition where the initial heartbeat from the worker is missed as celerybeat is still starting up. A simple solution would be to have the workers heartbeat faster initially and then back off once they have communication with celerybeat.</p> RPM Support - Issue #951 (CLOSED - CURRENTRELEASE): checksum is not honored if sqlite generation ...https://pulp.plan.io/issues/9512015-05-05T18:51:45Zbcourtbcourt@redhat.com
<p>If sqlite generation is enabled the checksum is always using sha256</p> Pulp - Issue #947 (CLOSED - CURRENTRELEASE): Error string is missing string identiferhttps://pulp.plan.io/issues/9472015-05-04T20:15:52Zbcourtbcourt@redhat.com
<p>the s is missing from a "%()s" identifier for string substitution on error PLP0008. This should never be hit at runtime as this error is mostly for debug purposes</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> Pulp - Refactor #867 (CLOSED - WONTFIX): Update the docs for the Plugin API to use the MongoEngin...https://pulp.plan.io/issues/8672015-04-10T15:56:47Zbcourtbcourt@redhat.com
<p>Deliverables:</p>
<ul>
<li>Updated documentation on how to use the MongoEngine unit & repository models for plugin development</li>
<li>Release notes on the deprecation of the conduits in favor of the unit models</li>
</ul> Pulp - Issue #489 (MODIFIED): When an task worker dies or restarts, work assigned to that worker ...https://pulp.plan.io/issues/4892015-02-28T22:15:18Zbcourtbcourt@redhat.com
<p>Description of problem:</p>
<p>When an RQ restarts (or dies) the tasks assigned to that worker get marked as cancelled. The cancelled state is correct, but users who dispatch work don't expect random cancelling of tasks so this isn't a great behavior.</p>
<p>To reproduce:<br>
1. Start Pulp system with exactly 1 worker<br>
2. Start a really long sync<br>
3. List the tasks and observe that the task you submitted is in the running state<br>
4. During the sync `kill -9` the worker<br>
5. Start that worker up again<br>
6. List the tasks again and observe that the task you submitted is in the cancelled state</p>
<p>Expected result: That the work you submitted to Pulp doesn't end up in the cancelled state when a worker dies. I expect it to be re-picked up by the worker and be in the running state.</p>