Content view errata filters are partially ignored with dependency solving and RHEL 8 content

Solution Verified - Updated

Environment

  • Red Hat Satellite 6.7, 6.8, or 6.9.

  • Red Hat Enterprise Linux 8 content synchronized and filtered in content views with dependency solving.

Issue

  • On versions of Red Hat Satellite with Pulp 2 that support cross-repository dependency solving, RPMs and errata that break filtering and dependency solving rules may be copied into content view versions with Red Hat Enterprise Linux 8 content.

  • Example scenario: a user has a content view with the Red Hat Enterprise Linux 8 BaseOS, AppStream, and Supplemental repositories. The user creates a filter to exclude errata after a certain date. Dependency solving is enabled for this content view.

  • When the user publishes a new content view version, it is discovered that the new version has errata after this date. It is also discovered that repoclosure is broken for the repository, and clients cannot be updated.

Resolution

  • There are a few options to resolve this issue:

    1. Conservative approach: disable dependency solving for your repository. In many cases, dependency solving is not needed for Red Hat repositories since older versions of content units are kept.

    2. Change in workflow approach: consider not using content view filters and instead publish content view versions more frequently (weekly, for example). When content needs to be consumed from a certain date, simply promote the proper content view version. If this method is used, consider also cleaning up old and unused content view versions more frequently.

    3. Hotfix approach: there is a fix for the issue within this This content is not included.Bugzilla.

  • In the background, the fix solves the issue by pre-copying the content during a content view publish before copying with dependency solving on. While the outcome is better, there are some caveats:

    1. Content view publishing will be slower, perhaps by a few hours or more.

    2. At the time of writing, the fix is not expected to officially make it into any Satellite releases.

    3. Satellite 6.10 solves the issue with Pulp 3's new copy methods.

For more KB articles/solutions related to Red Hat Satellite 6.x Content View Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Content View Issues

Root Cause

  • With these Satellite versions that use Pulp 2, a "round-robin" method is used to copy content into repositories. This method does not always work when dependency solving across repositories with Pulp 2. Here's why:

    • With the current implementation, destination repositories are empty and hence hold no dependency solving data. A dependency requirement in AppStream could copy over the newest RPM that satisfies the requirement from the source BaseOS to the destination BaseOS. However, there could be an older and also suitable RPM that should have been copied following the content view filters. Since the newer RPM is copied instead, the filter rules and the cross-repository dependency solving rules are broken.
SBR
Product(s)
Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.