Hi Brian, i like the the change in the code flow, but since the DeclarativeVersion (in your example) does not create the repository version anymore, i think it should be renamed. Maybe it's the SyncPipeline and we call perform on it instead of create.
Also i do not see the benefit of making the RelativePathFixer a context manager instead of a simple function to be called after the pipeline. It can even go wrong badly, if __exit__ is called after an exeption broke the pipeline. On Tue, 5 Nov 2019 14:46:18 -0500 Brian Bouterse <bmbou...@redhat.com> wrote: > As a followup to the chat discussion from triage/open-floor today, > here is the POC on top of typed repositories. It's actually a very > small change, the *only* significant difference is that the stages > API no longer uses the RepositoryVersion context manager. Thus, the > plugin writer must finalize it, but they can do that using > core-provided facilities. The links below are diffs on top of > @dalley's unmerged PRs so the links are long: > > https://github.com/dralley/pulpcore/compare/typed-repositories...bmbouter:plugin-context-manager > https://github.com/dralley/pulp_file/compare/typed-repositories...bmbouter:plugin-context-manager > > I'm able to run the pulp-smash test with these changes so I think it's > working: > django-admin test > pulp_file.tests.functional.api.test_sync.BasicFileSyncTestCase.test_sync > > Note that the context manager is only syntactic sugar. The pulp_file > sync code could also just as easily be as shown below. This is > incomplete, but I think you'll get the idea. > > https://github.com/dralley/pulp_file/compare/typed-repositories...bmbouter:plugin-finalize-no-context-manager > > With this plugins can even do what they want in terms of style > (context manager or not). Also they can not use it at all and the > only extra responsibility would be to finalize the RepositoryVersion > with its context manager (core provided). > > > I'd like to ask for feedback on this design asap. Questions are > concerns ... please send 'em. > > An extensive description was given at open floor, but those logs > aren't up yet. The gist is that content modification/validation will > require user options, the plugin already knows that, so let's stop > having the core finalize the RepositoryVersion.
pgpKGo7yXjuED.pgp
Description: OpenPGP digital signature
_______________________________________________ Pulp-dev mailing list Pulp-dev@redhat.com https://www.redhat.com/mailman/listinfo/pulp-dev