<div dir="ltr"><div><div>I feel a bit nervous to replace the TaskTag model with the direct relationship with the repository.<br></div>I understand that all the tasks we plan to trigger are against/or related to a repo, but i just want to be prepared to unforeseen future changes where the TaskRepository would not get us in a dead-end situation.<br><br>----> Do we really need to allow users to search tasks by a resource/repo at all?<br><br></div>I think this is useful and we should keep this.<br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><br><br>--------<br>Regards,<br><br>Ina Panova<br>Software Engineer| Pulp| Red Hat Inc.<br><br>"Do not go where the path may lead,<br> go instead where there is no path and leave a trail."<br></div></div></div>
<br><div class="gmail_quote">On Mon, Nov 6, 2017 at 8:17 PM, David Davis <span dir="ltr"><<a href="mailto:daviddavis@redhat.com" target="_blank">daviddavis@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 dir="ltr">Originally I scheduled a meeting for tomorrow but on second thought, I figured a pulp-dev thread would be more inclusive than a meeting. I hope to get this resolved by the end of this week and if not then maybe we can have a meeting. <div><br></div><div>This is to design out the replacement of task tags in Pulp 3. I’ve got feedback from a few other developers in terms of how to do that so I wrote up a sort of outline of the problem and two possible proposals. Looking for feedback/questions/etc on what people prefer.</div><div><br></div><div><div><br></div><div><div>Background</div><div>---</div><div><br></div><div>In Pulp 2, tasks have tags that either provide a task name/description or info on what resources a task acts on. Tasks also have reserved resources, which provide a way for tasks to lock a particular resource.</div><div><br></div><div>In Pulp 3, we have models TaskTag and ReservedResource[0]. Tasks are associated with the resources they work on via TaskTag. If a resource is locked, a ReservedResource record is created in the db and then removed from the db once the resource is unlocked.</div><div><br></div><div><br></div><div>Problem</div><div>---</div><div><br></div><div>The task tag model doesn't really fit Pulp 3. It's perhaps too generic and totally unnecessary (see Proposal 1), or it could be redesigned to accomodate other things (see Proposal 2).</div><div><br></div><div>Also, we need to support created resources (e.g. publications) with tasks. Refactoring task tags might provide an opportunity to do so.</div><div><br></div><div><br></div><div>User stories</div><div>---</div><div><br></div><div>As an authenticated user, I can see what resource(s) a task acted on.</div><div>As an authenticated user, I can search for a tasks based on what resource they acted on.</div><div><br></div><div><br></div><div>Proposal 1</div><div>---</div><div><br></div><div>Since tags and reserved resources in Pulp 3 will only store information about a particular repository (not 100% sure here), it should be possible to simplify the data model. We could ditch both TaskTag and ReservedResource models and just have a direct relationship between Tasks and Repositories (e.g. TaskRepository). This model could also have some sort of field to indicate whether a particular field is locked (e.g. is_locked). Unlike ReservedResource, this relationship would be persisted—only the is_locked field would be updated when a task is done.</div><div><br></div><div><br></div><div>Proposal 2</div><div>---</div><div><br></div><div>We could keep the TaskTag relationship (perhaps even rename it to TaskResource) and we could add a field to indicate the nature of the relationship between task and resource (e.g. created, updated, etc). This field could not only capture what TaskTag is currently used for but also stuff like created resources (e.g. publications). We could also have a field to indicate which task resources are locked (e.g. is_locked).</div><div><br></div><div>This would be useful for <a href="https://pulp.plan.io/issues/3033" target="_blank">https://pulp.plan.io/issues/<wbr>3033</a>.</div><div><br></div><div><br></div><div>Questions</div><div>---</div><div><br></div><div>- What proposal do we want to adopt?</div><div>- When do we need to address these changes?</div><div>- Do we really need to allow users to search tasks by a resource/repo at all?</div><div><br></div><div><br></div><div>[0] <a href="https://git.io/vF8iH" target="_blank">https://git.io/vF8iH</a></div><span class="HOEnZb"><font color="#888888"><div><div class="m_8066638094557508813gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br></div><div>David<br></div></div></div></div></div></div></div></div>
</font></span></div></div></div>
<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>
<br></blockquote></div><br></div>