For more info see the inline comment in ODCS handler:
# For container images rebuilds, we always get two ODCS composes: # - Pulp compose with latest shipped versions of packages. The # [repo] name of this compose in its .repo file is the same as # name of content_set from which compose was generated. # - Koji tag compose with packages from Errata advisory with which # we rebuild the container image. The [repo] name of this compose # in its .repo file is "odcs-N" where N is ID of compose. # We could just rebuild container image using these two ODCS # composes directly, BUT some Dockerfiles do following: # # RUN yum-config-manager --disable \* &> /dev/null && # yum-config-manager --enable rhel-7-server-rpms && # yum-config-manager --enable rhel-7-server-optional-rpms && # yum-config-manager --enable rhel-server-rhscl-7-rpms # # This means that they would disable our "odcs-N" repository and # enable only the Pulp repositories. This means that RPMs from # Errata advisory would never get in. # # To workaround that, we have to generate new compose which merges # Pulp compose and odcs-N compose together, uses the latest NVRs # of packages from both and keeps the [repo] name of the Pulp # repository in the .repo file of resulting compose. # # That way, the "rhel-7-server-rpms" repository from example above # contains packages from Pulp AND also so far unreleased # packages from Errata advisory.
These ODCs related methods are just moved from Errata handler to BaseHandler, because we need to use them from multiple handlers and they are kind of general methods to be used by different handlers...
We have decided this PR won't fix the issue for all images and therefore I'm closing this without merging.
Pull-Request has been closed by jkaluza
For more info see the inline comment in ODCS handler: