[Pulp-list] Pulp3 Automation

Dennis Kliban dkliban at redhat.com
Tue Sep 29 16:22:37 UTC 2020


On Tue, Sep 29, 2020 at 10:30 AM Maarten Beeckmans <maartenb at inuits.eu>
wrote:

> We are trying to automate our Pulp3 setup the same way as our Pulp2 setup.
>
> We have the following use cases in our Pulp2 setup:
>
> a) We create mirrors and repositories automatically for every environment
> (using puppet and the API). The repositories are defined in a yaml
> configuration file (Puppet Hiera).
>   - We have several problems for doing this in Pulp3. It's very complex to
> automatically create mirrors (ex. centos-8-appstream) for the development
> environment (that are in sync with the upstream repositories). A possible
> solution for this problem would be to add a 'latest' flag to publications
> and distributions so that they are always pointing to the latest version of
> the repository.
>   - It is possible to create the repositories with scripts, but that's
> specific and quite hacky. It's also not possible to automatically update
> the publications and distributions this way. We would need to keep a local
> copy of what distribution maps to what repository, but that's not a good
> idea. Why keep a local copy of the mapping if that's present in pulp.
>

We are already planning to improve this workflow. A single API call will
create a task that will sync a repo, create a new publication, and update
the distribution. We are first going to introduce the change in pulp_file
and then other plugins will follow. https://pulp.plan.io/issues/7469


> b) We upload packages from one repository (that is not served to clients)
> to another repository based on lists in yaml (cherry picking), or straight
> from a (jenkins) Pipeline. This is done by the pulp-admin commands.
>   - cherry picking could be done by copying content from one repository to
> another using the copy API call, but we want to automatically expose those
> changes to the development environment (promotion can be done as in c).
>   - Uploading content isn't an issue because this is possible by
> converting the pulp-admin commands to api calls.
>

You want to be able to upload a package and have that operation create a
new publication and update the distribution. This would be similar to the
story that I linked above for syncing - except for the upload use case.  Am
I understanding correctly?


> c) We want to be able to 'promote' a set of repositories from one
> environment to another. We are using a script that is generated by puppet
> when creating the repositories in a).
>   For 'promoting' a set of repositories to one environment to another
> environment, this is explained
> https://docs.pulpproject.org/pulpcore/workflows/promotion.html.
>
>
I don't understand what challenge you are describing in C.


> Thanks for all the work
>
> Maarten
> _______________________________________________
> Pulp-list mailing list
> Pulp-list at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20200929/c419a79d/attachment.htm>


More information about the Pulp-list mailing list