[Pulp-dev] Importer Name

Jeff Ortel jortel at redhat.com
Mon Mar 12 16:31:55 UTC 2018



On 03/12/2018 10:28 AM, Jeff Ortel wrote:
> On 03/08/2018 10:13 AM, Austin Macdonald wrote:
>> Motivation:
>> The name "importer" carries some inaccurate implications.
>> 1) Importers should "import". Tasks like "sync" will do the actual 
>> importing. The object only holds the configuration that happens to be 
>> used by sync tasks.
>> 2) Sync tasks on mirror mode remove content as well as add it, so 
>> "import" isn't quite right.
>>
>> Proposed name: Remote
>>
>> The inspiration for remote is "git remote". In git, remotes represent 
>> external repositories, which is almost exactly what our importers do.
>
> +1, The git/ostree "remote" concept applies very well to most of what 
> an "importer" defines in pulp.
>
>>
>> -------------------------------------------------------
>> Part 2: Trim the fields
>>
>> Currently, Importers have settings that can be categorized in 2 ways. 
>> I am proposing removing the "sync settings" from the Remote model:
>>
>> External Source information
>>     name
>>     feed_url
>>     validate
>>     ssl_ca_certificate
>>     ssl_client_certificate
>>     ssl_client_key
>>     ssl_validation
>>     proxy_url
>>     username
>>     password
>>
>> Sync settings
>>     download_policy
>>     sync_mode
>>
>> This had some advantages when Importers were related to Repositories. 
>> For example, having a repository.importer that always used the same 
>> sync mode made sense. However, the "how" to sync settings don't make 
>> much sense when importers and repositories are not linked. It seems 
>> very reasonable that a user might have 2 repositories that sync from 
>> the same source (ex EPEL). It does not make sense for them to have 
>> create an Importer for the EPEL repository twice or more just to 
>> change sync_mode or download policy. Instead of modeling these 
>> fields, I propose that they should POST body parameters.
>
> I, as a user, don't like having to specify download_policy & sync_mode 
> on every request.  The burden on the user to passing these 
> consistently seems unnecessary and prone to error.  And, like 
> something that pulp should store as part of it's value proposition.   
> Imagine an organization with tons of repositories and admins.  They 
> would need to maintain a spreadsheet, notes, scripts for these 
> settings so that admin A is syncing using the same settings as admin B.
>
> Perhaps download_policy &  sync_mode should be attributes of the 
> repository.  Thoughts on moving them there.  The sync_mode 
> (mirror/additive) may need to be renamed in a way that changes it from 
> describing how the importer is syning to something that defines the 
> type of repository.  Like that the repository is intended to be a 
> mirror or not.  Perhaps just a "mirror" (bool) attribute.

I have reconsidered this.  Disregard.

>>
>> example
>> POST v3/remotes/1234/sync/ repositorty=myrepo_href 
>> sync_mode=additive, dl_policy=immediate
>> POST v3/remotes/1234/sync/ repositorty=myother_href sync_mode=mirror, 
>> dl_policy=deferred
>>
>>
>>
>> _______________________________________________
>> 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/20180312/0859748f/attachment.htm>


More information about the Pulp-dev mailing list