<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Another reply to this thread will be sent once this is fully merged. 
Please share any concerns, corrections, questions, or ideas!</blockquote><div><br></div><div>As of today, this is now merged.  Thank you to all of the people who contributed to this change, especially @gmbnomis who "accepted the challenge" and got this work unblocked.</div><div><br></div><div>- Daniel<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Nov 9, 2019 at 11:54 AM Brian Bouterse <<a href="mailto:bmbouter@redhat.com">bmbouter@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I'm excited to share that typed repositories is going forward, and will likely merge on Monday; see PRs here: <a href="https://pulp.plan.io/issues/5625#note-7" target="_blank">https://pulp.plan.io/issues/5625#note-7</a>. A huge thanks to @gmbnomis for unblocking the work with code and addressing the written concerns with his post here: <a href="https://pulp.plan.io/issues/5625#note-12" target="_blank">https://pulp.plan.io/issues/5625#note-12</a> I'd also like to call out the great work from @dalley, @dkliban, @ttereshc, @ipanova, and @davidavis.</div><div><br></div><div><br></div><div># What does this mean for integrators/users?</div><div><br></div><div>1) Instead of all repositories living at /pulp/api/v3/repositories/ each plugin will have a repositories endpoint. For example, pulp_file would be <span><span><span></span>/pulp/api/v3/repositories/<span>file/file/</span><span>.</span></span></span><br></div><div>2) RepositoryVersions will continue to be nested under the new repository endpoints, e.g. /pulp/api/v3/repositories/<span>file/file/</span><span><UUID>/versions/</span></div><div>3) Operations that create a new RepositoryVersion are moved to the repository URL itself or an action URL underneath it. For example, 'sync' is no longer on a Remote, but should be an action endpoint under repository if plugin support it. For example, here's how to trigger a sync for pulp_file.</div><div><br></div><div>POST <span><span><span></span>/pulp/api/v3/repositories/<span>file/file/</span></span></span>sync/ remote={remote_href}.</div><div><br></div><div><br></div><div># What does this mean for plugin writers?</div><div><br></div><div>You'll need to define several new objects:</div><div><br></div><div>* A detail Repository, e.g. pulp_file's <a href="https://github.com/pulp/pulp_file/pull/299/files#diff-7b38205db1c4e6004b1a30ea0a2db477R41" target="_blank">https://github.com/pulp/pulp_file/pull/299/files#diff-7b38205db1c4e6004b1a30ea0a2db477R41</a></div><div>* A RepositorySerializer, e.g. pulp_file's <a href="https://github.com/pulp/pulp_file/pull/299/files#diff-0f3aaa9013e997a4c15352be12eb1881R60" target="_blank">https://github.com/pulp/pulp_file/pull/299/files#diff-0f3aaa9013e997a4c15352be12eb1881R60</a></div><div>* A RepositoryViewSet, e.g. pulp_file's <a href="https://github.com/pulp/pulp_file/pull/299/files#diff-4ea13541b01c775a55f25a8c4fab0aebR66" target="_blank">https://github.com/pulp/pulp_file/pull/299/files#diff-4ea13541b01c775a55f25a8c4fab0aebR66</a></div><div>* A RepositoryVersionViewset, e.g. pulp_file's <a href="https://github.com/pulp/pulp_file/pull/299/files#diff-4ea13541b01c775a55f25a8c4fab0aebR103" target="_blank">https://github.com/pulp/pulp_file/pull/299/files#diff-4ea13541b01c775a55f25a8c4fab0aebR103</a></div><div><br></div><div><br></div><div># Next Steps</div><div><br></div><div>Another reply to this thread will be sent once this is fully merged. Please share any concerns, corrections, questions, or ideas!<br></div><br><div>Thank you to everyone for the excellent collaboration and contribution. Pulp's users and its API is significantly better for this.</div><div><br></div><div>-Brian</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 6, 2019 at 2:29 PM Brian Bouterse <<a href="mailto:bmbouter@redhat.com" target="_blank">bmbouter@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>After much, great work from @dalley on the typed repository prototype, unfortunately, we believe it cannot be adopted at this time. Here's a writeup of why:  <a href="https://pulp.plan.io/issues/5625#note-8" target="_blank">https://pulp.plan.io/issues/5625#note-8</a> and another writeup of alternatives considered: <a href="https://pulp.plan.io/issues/5625#note-9" target="_blank">https://pulp.plan.io/issues/5625#note-9</a><br></div><div><br></div><div>This writeup came from a discussion with other core devs giving input on various options as well. If we've misread the opportunity here please let us know!</div><div><br></div><div>The primary motivation for typed repositories was to resolve the design challenges encountered on <a href="https://pulp.plan.io/issues/3541" target="_blank">https://pulp.plan.io/issues/3541</a> I'm going to do the following ASAP:</div><div><br></div><div>1) update 3541's design with the input from the thread:  <a href="https://www.redhat.com/archives/pulp-dev/2019-November/msg00012.html" target="_blank">https://www.redhat.com/archives/pulp-dev/2019-November/msg00012.html</a></div><div>2) create proof of concept PRs for the changes described so others can see asap.</div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Nov 3, 2019 at 11:54 AM Daniel Alley <<a href="mailto:dalley@redhat.com" target="_blank">dalley@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>In accordance with the rationale laid out in issue #5625 [0], we will be merging a change that will make repositories a typed object in Pulp.  This will require some work by plugin writers to become compatible post-merge.</div><div><br></div><div>We're aiming to merge these changes on Wednesday if possible.  There is still a bit of work to be done to fix the client REST API bindings, and to get all of the plugins migrated.  The PRs are being tracked in the comments of the issue [1].<br></div><div><br></div><div>[0] <a href="https://pulp.plan.io/issues/5625" target="_blank">https://pulp.plan.io/issues/5625</a></div><div>[1] <a href="https://pulp.plan.io/issues/5625#note-7" target="_blank">https://pulp.plan.io/issues/5625#note-7</a></div></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>