<div dir="ltr">Nice choice of music :)<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 26, 2018 at 4:14 PM, Milan Kovacik <span dir="ltr"><<a href="mailto:mkovacik@redhat.com" target="_blank">mkovacik@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Mon, Mar 26, 2018 at 9:38 PM, Austin Macdonald <<a href="mailto:austin@redhat.com">austin@redhat.com</a>> wrote:<br>
><br>
><br>
> On Mon, Mar 26, 2018 at 2:30 PM, Dennis Kliban <<a href="mailto:dkliban@redhat.com">dkliban@redhat.com</a>> wrote:<br>
>><br>
>> This proposal does not make the plugin writer's job any easier. This<br>
>> simply changes where the plugin writer is providing validation logic, in a<br>
>> serializer vs. in a view.<br>
><br>
><br>
> It does make the plugin writer's job easier *because* it changes how the<br>
> validation is provided, Plugin writers already have to understand how to<br>
> create models/serializers (and it is very simple) for all the other objects.<br>
> Seriallizer validation is much simpler than viewset validation because<br>
> serializers are literally designed to do this.<br>
><br>
>><br>
>><br>
>> The other problem I see is that complexity for users is increased. Instead<br>
>> of having 1 resource for tracking task progress, there would be an infinite<br>
>> number of resources for tracking progress of tasks.<br>
><br>
><br>
> In the proposal, Tasks are Master/Detail. The user doesn't have to "track"<br>
> it at all. They can still use v3/tasks/ to see all the tasks. Retrieving<br>
> tasks will either be the same (v3/tasks/) or easier if they know the task<br>
> they are looking for (v3/tasks/file/syncs/)<br>
><br>
>><br>
>> I don't see the value added by the proposed change.<br>
><br>
><br>
> Value #1: We have to do something to address the problem that<br>
> adding/removing content to a repository without plugin input is incorrect.<br>
> This proposal is one possibility, but it isn't valid to compare the value<br>
> against doing nothing. Instead, if you don't like this option, we need to<br>
> compare it to other proposals for how to involve plugins in tasks.<br>
><br>
> Value #2: Plugin writers no longer need to dispatch tasks. Plugin writers<br>
> shouldn't need to understand the complexities of our tasking system.<br>
> Pulpcore can handle task dispatching generally, plugin writers just set<br>
> simple class attributes instead.<br>
><br>
> Value #3: It removes "action" endpoints and replaces them with RESTful<br>
> "creation of task" POSTs.<br>
><br>
> Value #4: It creates a convention for endpoints. Right now we have<br>
><br>
><br>
> v3/importers/file/1234/sync/<br>
> v3/publishers/python/1234/<wbr>publish/<br>
><br>
> There is no logical place for add/remove to go because add/remove will not<br>
> involve an importer. It will be irritating to the users if we don't<br>
> encourage some consistency between plugins for the simplest Pulp<br>
> functionality.<br>
><br>
><br>
> Value #5: Task history becomes much more useful. Currently, the only data on<br>
> a task that connects it to user-facing objects is "created_resource". This<br>
> proposal will allow users to filter tasks by parameters. For example, they<br>
> can filter sync tasks by "repository" or "importer". They can also use the<br>
> detail endpoints (v3/tasks/file/ or v3/tasks/file/syncs/) to list tasks<br>
> based on the plugin or action.<br>
><br>
> Value #6: Since the parameters of Task are saved, it will be possible to<br>
> repeat tasks.<br>
<br>
</div></div>btw A moving picture of how it's going to look like on the docs side<br>
of things: <a href="https://youtu.be/E7zC6SElm4g" rel="noreferrer" target="_blank">https://youtu.be/E7zC6SElm4g</a> ;)<br>
<br>
--<br>
<div class="HOEnZb"><div class="h5">milan<br>
<br>
______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
</div></div></blockquote></div><br></div>