[Pulp-dev] [Breaking Change] Typed Repositories

Daniel Alley dalley at redhat.com
Mon Nov 11 18:52:19 UTC 2019


>
> Another reply to this thread will be sent once this is fully merged.
> Please share any concerns, corrections, questions, or ideas!


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.

- Daniel

On Sat, Nov 9, 2019 at 11:54 AM Brian Bouterse <bmbouter at redhat.com> wrote:

> I'm excited to share that typed repositories is going forward, and will
> likely merge on Monday; see PRs here:
> https://pulp.plan.io/issues/5625#note-7. A huge thanks to @gmbnomis for
> unblocking the work with code and addressing the written concerns with his
> post here: https://pulp.plan.io/issues/5625#note-12 I'd also like to call
> out the great work from @dalley, @dkliban, @ttereshc, @ipanova, and
> @davidavis.
>
>
> # What does this mean for integrators/users?
>
> 1) Instead of all repositories living at /pulp/api/v3/repositories/ each
> plugin will have a repositories endpoint. For example, pulp_file would be
> /pulp/api/v3/repositories/file/file/.
> 2) RepositoryVersions will continue to be nested under the new repository
> endpoints, e.g. /pulp/api/v3/repositories/file/file/<UUID>/versions/
> 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.
>
> POST /pulp/api/v3/repositories/file/file/sync/ remote={remote_href}.
>
>
> # What does this mean for plugin writers?
>
> You'll need to define several new objects:
>
> * A detail Repository, e.g. pulp_file's
> https://github.com/pulp/pulp_file/pull/299/files#diff-7b38205db1c4e6004b1a30ea0a2db477R41
> * A RepositorySerializer, e.g. pulp_file's
> https://github.com/pulp/pulp_file/pull/299/files#diff-0f3aaa9013e997a4c15352be12eb1881R60
> * A RepositoryViewSet, e.g. pulp_file's
> https://github.com/pulp/pulp_file/pull/299/files#diff-4ea13541b01c775a55f25a8c4fab0aebR66
> * A RepositoryVersionViewset, e.g. pulp_file's
> https://github.com/pulp/pulp_file/pull/299/files#diff-4ea13541b01c775a55f25a8c4fab0aebR103
>
>
> # Next Steps
>
> Another reply to this thread will be sent once this is fully merged.
> Please share any concerns, corrections, questions, or ideas!
>
> Thank you to everyone for the excellent collaboration and contribution.
> Pulp's users and its API is significantly better for this.
>
> -Brian
>
>
> On Wed, Nov 6, 2019 at 2:29 PM Brian Bouterse <bmbouter at redhat.com> wrote:
>
>> 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:  https://pulp.plan.io/issues/5625#note-8 and another
>> writeup of alternatives considered:
>> https://pulp.plan.io/issues/5625#note-9
>>
>> 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!
>>
>> The primary motivation for typed repositories was to resolve the design
>> challenges encountered on https://pulp.plan.io/issues/3541 I'm going to
>> do the following ASAP:
>>
>> 1) update 3541's design with the input from the thread:
>> https://www.redhat.com/archives/pulp-dev/2019-November/msg00012.html
>> 2) create proof of concept PRs for the changes described so others can
>> see asap.
>>
>>
>>
>>
>> On Sun, Nov 3, 2019 at 11:54 AM Daniel Alley <dalley at redhat.com> wrote:
>>
>>> 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.
>>>
>>> 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].
>>>
>>> [0] https://pulp.plan.io/issues/5625
>>> [1] https://pulp.plan.io/issues/5625#note-7
>>> _______________________________________________
>>> Pulp-dev mailing list
>>> Pulp-dev at redhat.com
>>> https://www.redhat.com/mailman/listinfo/pulp-dev
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20191111/0dbd1b5b/attachment.htm>


More information about the Pulp-dev mailing list