#486 support "unified" containers (allow multiple variants in one container)
Closed: Fixed 7 years ago Opened 7 years ago by ktdreyer.

The current OSBS support only generates one container per variant. In the Red Hat Ceph Storage product, we build a single container that uses packages from all our variants.


Would it be enough to allow specifying extra repositories for the task? Right now you only get the one repo associated with the variant for which the container is configured. It would be fairly easy to also include repos from other variants (or even completely outside of compose).

The key with the current OSBS implementation is that it uses pungi.paths.translate_path() to convert Pungi's on-disk variant paths to HTTP URLs.

If I specified extra repositories in my Pungi configuration, I'd probably have to hard-code the HTTP URLs, right? It would be nice if we could use the same translate_path() logic everywhere, to make this straightforward to use.

It's up to you - all I care about is that Pungi will give me a single container using packages from all of my variants.

Hardcoding would not be necessary. In other places we already have the logic that if what you specify as repo is not a URL, it's treated as variant name and URL is created for it. So you just say give me packages from variant X and it does the right thing.

Ok, that sounds good.

As it turns out I will need to have Yum repositories for all my variants plus at least one other external repository. For example, in the RH Ceph Storage layered product, I need OSBS to pull in RHEL Base content in addition to the content from my layered product compose.

  1. MyVariant1 (HTTP URL via translate_path())
  2. MyVariant2 (HTTP URL via translate_path())
  3. http://pulp.example.com/content/dist/rhel/server/7/7Server/x86_64/os/

@lsedlar changed the status to Closed

7 years ago

Login to comment on this ticket.

Metadata