Project

General

Profile

Bug #34444

Module streams enabled by default are gone when CV starts using filters

Added by Hao Yu 5 months ago. Updated 5 months ago.

Status:
Rejected
Priority:
Normal
Assignee:
Category:
Content Views
Target version:
Difficulty:
Triaged:
Yes
Bugzilla link:
Fixed in Releases:
Found in Releases:
Red Hat JIRA:

Description

Clone from bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2050100

Description of problem:
-----------------------

Module streams are not working as expected in Red Hat Satellite 6.10.2-1. On a RHEL 8 content host registered to Red Hat Satellite 6.10.2-1, module streams that should be enabled by default aren't. User has to enable them manually on the content host. For example by running:
~~~ # yum module enable python36:3.6 ruby:2.5
~~~

Otherwise, errors like this one are encountered:
~~
Execution of '/usr/bin/dnf -d 0 -e 1 -y list python36' returned 1: Error: No matching Packages to list
[...]
change from 'purged' to 'present' failed: Execution of '/usr/bin/dnf -d 0 -e 1 -y install rubygem-foreman_scap_client' returned 1: Error:
Problem: package rubygem-foreman_scap_client-0.5.0-1.el8sat.noarch requires ruby(release), but none of the providers can be installed
- cannot install the best candidate for the job
- package ruby-libs-2.5.3-104.module+el8.0.0+3250+4b7d6d43.i686 is filtered out by modular filtering
- package ruby-libs-2.5.5-105.module+el8.1.0+3656+f80bfa1d.i686 is filtered out by modular filtering
- package ruby-libs-2.7.4-137.module+el8.4.0+12025+f744ca41.x86_64 is filtered out by modular filtering
- package ruby-libs-2.5.5-106.module+el8.3.0+7153+c6f6daa5.i686 is filtered out by modular filtering
- package ruby-libs-2.5.5-106.module+el8.3.0+7153+c6f6daa5.x86_64 is filtered out by modular filtering
- package ruby-libs-2.7.1-133.module+el8.3.0+7192+4e3a532a.i686 is filtered out by modular filtering
- package ruby-libs-2.5.9-107.module+el8.4.0+10822+fe4fffb1.x86_64 is filtered out by modular filtering
- package ruby-libs-2.5.3-104.module+el8.0.0+3250+4b7d6d43.x86_64 is filtered out by modular filtering
- package ruby-libs-2.7.3-136.module+el8.4.0+10728+4c884998.x86_64 is filtered out by modular filtering
- package ruby-libs-2.6.3-106.module+el8.1.0+3653+beb38eb0.i686 is filtered out by modular filtering
- package ruby-libs-2.5.9-107.module+el8.4.0+10822+fe4fffb1.i686 is filtered out by modular filtering
- package ruby-libs-2.6.7-107.module+el8.4.0+10830+bbd85cce.x86_64 is filtered out by modular filtering
- package ruby-libs-2.7.4-137.module+el8.4.0+12025+f744ca41.i686 is filtered out by modular filtering
- package ruby-libs-2.7.1-133.module+el8.3.0+7192+4e3a532a.x86_64 is filtered out by modular filtering
- package ruby-libs-2.6.3-106.module+el8.1.0+3653+beb38eb0.x86_64 is filtered out by modular filtering
- package ruby-libs-2.5.5-105.module+el8.1.0+3656+f80bfa1d.x86_64 is filtered out by modular filtering
- package ruby-libs-3.0.2-140.module+el8.5.0+12856+0c654ebc.i686 is filtered out by modular filtering
- package ruby-libs-2.6.7-107.module+el8.4.0+10830+bbd85cce.i686 is filtered out by modular filtering
- package ruby-libs-2.5.3-103.module+el8+2671+ebcc7ee0.x86_64 is filtered out by modular filtering
- package ruby-libs-2.7.3-136.module+el8.4.0+10728+4c884998.i686 is filtered out by modular filtering
- package ruby-libs-2.5.3-103.module+el8+2671+ebcc7ee0.i686 is filtered out by modular filtering
- package ruby-libs-3.0.2-140.module+el8.5.0+12856+0c654ebc.x86_64 is filtered out by modular filtering
~
~

How reproducible:
-----------------
Always with CVs that has a filter to include errata by date.

Actual results:
---------------
Module streams, that should be enabled by default on a RHEL 8 content host, are disabled and need to be enabled manually.

Expected results:
-----------------
Module streams, that should be enabled by default on a RHEL 8 content host, are enabled without the need for manual intervention.

Additional info:
-----------------
It appear that Satellite 6.9 has the copy :module_default units but I don't see any in Satellite 6.10 in "copy_content_for_source", "copy_units" and "additional_content_hrefs" methods

  1. Satellite 6.9
    def copy_contents(destination_repo, filters: nil,
    solve_dependencies: false,
    rpm_filenames: [])
    ...
    [:srpm, :errata, :package_group, :package_environment,
    :yum_repo_metadata_file, :distribution, :module_default, :drpm].each do |type|
    tasks << smart_proxy.pulp_api.extensions.send(type).copy(repo.pulp_id, destination_repo.pulp_id)
    end

Katello uses "copy_content_for_source" (in Katello::Pulp3::Repository::Yum) to copy contents for Pulp3. This method will copy everything (rpm, errata, modules, package group, yum metadata etc) but missed modulemd defaults.


Related issues

Is duplicate of Katello - Bug #34434: Modulemd-defaults are not present in content view repository metadataClosed

History

#1 Updated by The Foreman Bot 5 months ago

  • Assignee set to Hao Yu
  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/9943 added

#2 Updated by Jonathon Turel 5 months ago

  • Is duplicate of Bug #34434: Modulemd-defaults are not present in content view repository metadata added

#3 Updated by Jonathon Turel 5 months ago

  • Triaged changed from No to Yes
  • Target version changed from Katello 4.4.0 to Katello Recycle Bin
  • Status changed from Ready For Testing to Rejected

Also available in: Atom PDF