https://pulp.plan.io/https://pulp.plan.io/favicon.ico2016-11-07T20:40:28ZPulpPulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=156002016-11-07T20:40:28Zttereshcttereshc@redhat.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-11 priority-7 priority-high2 closed" href="/issues/2380">Task #2380</a>: Create a redmine task for each 2.y celery task to be converted to 3.0</i> added</li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=156282016-11-08T16:30:26Zttereshcttereshc@redhat.com
<ul><li><strong>Tags</strong> <i>Pulp 3</i> added</li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=159302016-11-21T14:22:52Zmhrivnakmhrivnak@redhat.com
<ul><li><strong>Groomed</strong> changed from <i>No</i> to <i>Yes</i></li><li><strong>Sprint Candidate</strong> changed from <i>No</i> to <i>Yes</i></li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=161222016-12-01T05:11:54Zmhrivnakmhrivnak@redhat.com
<ul></ul><p>This may be trickier than it sounds. I think we still want DRF to figure out what changes to make based on the request body, but we want to defer that. There's a logical, and potentially important, difference between:</p>
<p>1. use DRF to figure out what changes to make<br>
2. queue a task to make those changes later</p>
<p>and</p>
<p>1. queue a task with the response data<br>
2. later, use DRF to figure out what changes to make, and make those changes immediately</p>
<p>The difference lies in the potential for the object to change between the time the request is made, and the task actually runs.</p>
<p>As such, this may be difficult to do without also considering the API integration. It might make sense to do both at the same time.</p> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=189902017-04-06T13:57:55Zmhrivnakmhrivnak@redhat.com
<ul></ul><p>Given the challenge with the above, I wonder if we should allow updating of these configs via the REST API synchronously, and just expect anything that uses the config to be ok that it changes at any time. The tasks that use these configs will naturally want to load them just once anyway.</p> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=190162017-04-06T18:14:57Zjortel@redhat.comjortel@redhat.com
<ul></ul><p>mhrivnak wrote:</p>
<blockquote>
<p>Given the challenge with the above, I wonder if we should allow updating of these configs via the REST API synchronously, and just expect anything that uses the config to be ok that it changes at any time. The tasks that use these configs will naturally want to load them just once anyway.</p>
</blockquote>
<p>Makes sense to me. I cannot think of any reason that updates to the importer/publisher resource would need to be long running or otherwise benefit from being asynchronous. Even in the case of DELETE. If an importer is deleted while there are queued sync tasks, it seems reasonable for those tasks to fail when resources cannot be fetched from the DB. As a user, I would expect that. On the flip side, if the DELETE is queued behind several sync tasks, the system get tied up syncing repositories that are intended to be be deleted.</p> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=195572017-05-08T21:07:58Zbmbouterbmbouter@redhat.com
<ul></ul><p>After some good discussion we determined this will be done asynchronously. Info on that discussion can be seen here: <a href="https://www.redhat.com/archives/pulp-dev/2017-May/msg00014.html" class="external">https://www.redhat.com/archives/pulp-dev/2017-May/msg00014.html</a></p>
<p>I also believe we determined the user supplied data will be validated in the API using the serializer prior to dispatching the task. The update will apply when the task runs, and any issues that rise will be captured by the normal task failure handlers.</p> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=197192017-05-17T20:09:05Zbmbouterbmbouter@redhat.com
<ul><li><strong>Tracker</strong> changed from <i>Task</i> to <i>Story</i></li><li><strong>Subject</strong> changed from <i>Convert celery task repository.distributor_update to Pulp 3</i> to <i>As an API user, a call to update an Publisher generates a Task</i></li><li><strong>Description</strong> updated (<a title="View differences" href="/journals/19719/diff?detail_id=20347">diff</a>)</li></ul><p>Rewriting based on similarity to issue 2756 and discussion on the mailing list: <a href="https://www.redhat.com/archives/pulp-dev/2017-May/msg00014.html" class="external">https://www.redhat.com/archives/pulp-dev/2017-May/msg00014.html</a></p> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=197532017-05-18T14:31:51Zmhrivnakmhrivnak@redhat.com
<ul><li><strong>Sprint/Milestone</strong> set to <i>39</i></li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=200172017-06-05T15:01:29Zamacdona@redhat.comaustin@redhat.com
<ul><li><strong>Status</strong> changed from <i>NEW</i> to <i>ASSIGNED</i></li><li><strong>Assignee</strong> set to <i>amacdona@redhat.com</i></li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=201692017-06-12T14:06:11Zmhrivnakmhrivnak@redhat.com
<ul><li><strong>Sprint/Milestone</strong> changed from <i>39</i> to <i>40</i></li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=203342017-06-21T14:34:05Zmhrivnakmhrivnak@redhat.com
<ul><li><strong>Status</strong> changed from <i>ASSIGNED</i> to <i>POST</i></li></ul><p><a href="https://github.com/pulp/pulp/pull/3046" class="external">https://github.com/pulp/pulp/pull/3046</a></p> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=205512017-07-03T02:17:05Zamacdona@redhat.comaustin@redhat.com
<ul><li><strong>Status</strong> changed from <i>POST</i> to <i>MODIFIED</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Applied in changeset <a class="changeset" title="Dispatch a task to update publishers. closes #2409" href="https://pulp.plan.io/projects/pulp/repository/pulp/revisions/e81d0a633f0e041b99e9d3d47f8ddce478de3cf7">pulp|e81d0a633f0e041b99e9d3d47f8ddce478de3cf7</a>.</p> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=260242018-03-08T23:16:49Zbmbouterbmbouter@redhat.com
<ul><li><strong>Sprint</strong> set to <i>Sprint 21</i></li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=260402018-03-08T23:17:31Zbmbouterbmbouter@redhat.com
<ul><li><strong>Sprint/Milestone</strong> deleted (<del><i>40</i></del>)</li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=417732019-04-25T16:47:10Zdaviddavis
<ul><li><strong>Sprint/Milestone</strong> set to <i>3.0.0</i></li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=430032019-04-26T20:39:08Zbmbouterbmbouter@redhat.com
<ul><li><strong>Tags</strong> deleted (<del><i>Pulp 3</i></del>)</li></ul> Pulp - Story #2409: As an API user, a call to update an Publisher generates a Taskhttps://pulp.plan.io/issues/2409?journal_id=506472019-12-13T17:16:27Zbmbouterbmbouter@redhat.com
<ul><li><strong>Status</strong> changed from <i>MODIFIED</i> to <i>CLOSED - CURRENTRELEASE</i></li></ul>