Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1795444

Summary: Dep solving with modules seems to give inconsistent results
Product: Red Hat Satellite Reporter: Partha Aji <paji>
Component: PulpAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED WONTFIX QA Contact: Bruno Rocha <rochacbruno>
Severity: medium Docs Contact:
Priority: high    
Version: 6.7.0CC: ggainey, mmccune, ttereshc
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-01 14:23:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Partha Aji 2020-01-28 00:14:56 UTC
Description of problem:

1) Have a content view with both BaseOS/Appstream + dep-solve turned on
2) Set a module stream filter to include the perl-FCGI:0.78:820181214153815:fbe42456
3) Create a package excludes filter. Add a rule to exclude '*'
4) Publish

In this environment we are excluding all non modular rpms, and instead asking the cv publisher to exclusively copy just the perl-FCGI:0.78:820181214153815:fbe42456 module and all its dependencies. 

Expected:
Appropriate modules, dependent modules and their rpms copied over across the repositories belonging to the content view.

Actual:
All versions of perl-fcgi get copied and while none of their dependencies are copied over. We end up with 6 modulestreams and 1 rpm.

Comment 4 Partha Aji 2020-01-28 00:20:47 UTC
]# rpm -qa|grep pulp

pulp-docker-plugins-3.2.5-1.el7sat.noarch
pulp-client-1.0-2.noarch
libmodulemd-1.7.0-1.pulp.el7sat.x86_64
python-pulp-oid_validation-2.21.0-1.el7sat.noarch
tfm-rubygem-pulp_ansible_client-0.2.0b1.dev0.1560866833-1.el7sat.noarch
pulp-maintenance-2.21.0-1.el7sat.noarch
pulp-selinux-2.21.0-1.el7sat.noarch
libsolv-0.7.4-4.pulp.el7sat.x86_64
python-pulp-common-2.21.0-1.el7sat.noarch
tfm-rubygem-pulpcore_client-3.0.0rc2.dev.1557772471-1.el7sat.noarch
tfm-rubygem-pulp_2to3_migration_client-0.0.1a1.dev01570560174-1.el7sat.noarch
pulp-rpm-plugins-2.21.0.1-1.el7sat.noarch
pulp-katello-1.0.3-1.el7sat.noarch
rubygem-smart_proxy_pulp-1.5.0-1.el7sat.noarch
python-pulp-repoauth-2.21.0-1.el7sat.noarch
python2-solv-0.7.4-4.pulp.el7sat.x86_64
python-pulp-rpm-common-2.21.0.1-1.el7sat.noarch
pulp-puppet-tools-2.21.0-1.el7sat.noarch
tfm-rubygem-pulp_rpm_client-3.0.0b7.dev01570381057-1.el7sat.noarch
pulp-server-2.21.0-1.el7sat.noarch
pulp-puppet-plugins-2.21.0-1.el7sat.noarch
python-pulp-streamer-2.21.0-1.el7sat.noarch
python-pulp-ostree-common-1.3.1-2.el7sat.noarch
python-pulp-puppet-common-2.21.0-1.el7sat.noarch
tfm-rubygem-pulp_file_client-0.1.0b5.dev01571253617-1.el7sat.noarch
python-pulp-integrity-2.21.0.1-1.el7sat.noarch
pulp-ostree-plugins-1.3.1-2.el7sat.noarch
python-pulp-docker-common-3.2.5-1.el7sat.noarch
tfm-rubygem-pulp_docker_client-4.0.0b6.dev01562331743-1.el7sat.noarch

Comment 5 Partha Aji 2020-01-28 00:22:20 UTC
perl-fcgi modules.yaml snippet

---
document: modulemd
version: 2
data:
  name: perl-FCGI
  stream: 0.78
  version: 820181214153815
  context: fbe42456
  arch: x86_64
  summary: FastCGI Perl bindings
  description: >
    This allows you to write a FastCGI client in the Perl language.
  license:
    module:
    - MIT
    content:
    - OML
  xmd:
    mbs:
      mse: TRUE
      scmurl: git://pkgs.devel.redhat.com/modules/perl-FCGI?#b6a447c8cacc136e2d2fc297c7f8759ce7a2f277
      commit: b6a447c8cacc136e2d2fc297c7f8759ce7a2f277
      buildrequires:
        platform:
          stream_collision_modules: 
          stream: el8
          ref: virtual
          filtered_rpms: []
          ursine_rpms: 
          koji_tag: module-rhel-8.0.0-build
          version: 2
          context: 00000000
        perl:
          filtered_rpms: []
          ref: bc915cd2442f22ed91e358f8a417be25bb52e2e1
          stream: 5.26
          context: 9edba152
          version: 20181002144634
          koji_tag: module-perl-5.26-20181002144634-9edba152
      rpms:
        perl-FCGI:
          ref: 121ceaa6679981feace730d831ecda1db00483eb
  dependencies:
  - buildrequires:
      perl: [5.26]
      platform: [el8]
    requires:
      perl: [5.26]
      platform: [el8]
  references:
    community: https://metacpan.org/release/FCGI
  profiles:
    common:
      description: FCGI distribution
      rpms:
      - perl-FCGI
  api:
    rpms:
    - perl-FCGI
  components:
    rpms:
      perl-FCGI:
        rationale: The API.
        repository: git://pkgs.devel.redhat.com/rpms/perl-FCGI
        cache: http://pkgs.devel.redhat.com/repo/pkgs/perl-FCGI
        ref: stream-0.78
        arches: [aarch64, i686, ppc64le, s390x, x86_64]
  artifacts:
    rpms:
    - perl-FCGI-1:0.78-10.module+el8+2536+bc40be7b.x86_64
...

Comment 6 Grant Gainey 2020-01-28 15:00:13 UTC
perl-5.26 from modules.yaml:

---
document: modulemd
version: 2
data:
  name: perl
  stream: 5.26
  version: 820181219174508
  context: 9edba152
  arch: x86_64
  summary: Practical Extraction and Report Language
  description: >
    Perl is a high-level programming language with roots in C, sed, awk and shell
    scripting. Perl is good at handling processes and files, and is especially good
    at handling text. Perl's hallmarks are practicality and efficiency. While it is
    used to do a lot of different things, Perl's most common applications are system
    administration utilities and web programming.
  license:
    module:
    - MIT
  xmd:
    mbs:
      mse: TRUE
      scmurl: git://pkgs.devel.redhat.com/modules/perl?#e712dc415d7660fc59a5b68c48ddcdad76c4d575
      commit: e712dc415d7660fc59a5b68c48ddcdad76c4d575
      buildrequires:
        platform:
          stream_collision_modules: 
          stream: el8
          ref: virtual
          filtered_rpms: []
          ursine_rpms: 
          koji_tag: module-rhel-8.0.0-build
          version: 2
          context: 00000000
  dependencies:
  - buildrequires:
      platform: [el8]
    requires:
      platform: [el8]
  references:
    community: https://docs.pagure.org/modularity/
  profiles:
    common:
      description: Interpreter and all Perl modules bundled within upstream Perl.
      rpms:
      - perl
    minimal:
      description: Only the interpreter as a standalone executable.
      rpms:
      - perl-interpreter
  api:
    rpms:
    - perl
    - perl-Archive-Tar
    - perl-Attribute-Handlers
    - perl-B-Debug
    - perl-CPAN
    - perl-CPAN-Meta
    - perl-CPAN-Meta-Requirements
    - perl-CPAN-Meta-YAML
    - perl-Carp
    - perl-Compress-Raw-Bzip2
    - perl-Compress-Raw-Zlib
    - perl-Config-Perl-V
    - perl-DB_File
    - perl-Data-Dumper
    - perl-Devel-PPPort
    - perl-Devel-Peek
    - perl-Devel-SelfStubber
    - perl-Digest
    - perl-Digest-MD5
    - perl-Digest-SHA
    - perl-Encode
    - perl-Encode-devel
    - perl-Env
    - perl-Errno
    - perl-Exporter
    - perl-ExtUtils-CBuilder
    - perl-ExtUtils-Command
    - perl-ExtUtils-Embed
    - perl-ExtUtils-Install
    - perl-ExtUtils-MM-Utils
    - perl-ExtUtils-MakeMaker
    - perl-ExtUtils-Manifest
    - perl-ExtUtils-Miniperl
    - perl-ExtUtils-ParseXS
    - perl-File-Fetch
    - perl-File-Path
    - perl-File-Temp
    - perl-Filter
    - perl-Filter-Simple
    - perl-Getopt-Long
    - perl-HTTP-Tiny
    - perl-IO
    - perl-IO-Compress
    - perl-IO-Socket-IP
    - perl-IO-Zlib
    - perl-IPC-Cmd
    - perl-IPC-SysV
    - perl-JSON-PP
    - perl-Locale-Codes
    - perl-Locale-Maketext
    - perl-Locale-Maketext-Simple
    - perl-MIME-Base64
    - perl-Math-BigInt
    - perl-Math-BigInt-FastCalc
    - perl-Math-BigRat
    - perl-Math-Complex
    - perl-Memoize
    - perl-Module-CoreList
    - perl-Module-CoreList-tools
    - perl-Module-Load
    - perl-Module-Load-Conditional
    - perl-Module-Loaded
    - perl-Module-Metadata
    - perl-Net-Ping
    - perl-Params-Check
    - perl-PathTools
    - perl-Perl-OSType
    - perl-PerlIO-via-QuotedPrint
    - perl-Pod-Checker
    - perl-Pod-Escapes
    - perl-Pod-Html
    - perl-Pod-Parser
    - perl-Pod-Perldoc
    - perl-Pod-Simple
    - perl-Pod-Usage
    - perl-Scalar-List-Utils
    - perl-SelfLoader
    - perl-Socket
    - perl-Storable
    - perl-Sys-Syslog
    - perl-Term-ANSIColor
    - perl-Term-Cap
    - perl-Test
    - perl-Test-Harness
    - perl-Test-Simple
    - perl-Text-Balanced
    - perl-Text-ParseWords
    - perl-Text-Tabs+Wrap
    - perl-Thread-Queue
    - perl-Time-HiRes
    - perl-Time-Local
    - perl-Time-Piece
    - perl-Unicode-Collate
    - perl-Unicode-Normalize
    - perl-autodie
    - perl-bignum
    - perl-constant
    - perl-devel
    - perl-encoding
    - perl-experimental
    - perl-generators
    - perl-interpreter
    - perl-libnet
    - perl-libnetcfg
    - perl-libs
    - perl-macros
    - perl-open
    - perl-parent
    - perl-perlfaq
    - perl-podlators
    - perl-tests
    - perl-threads
    - perl-threads-shared
    - perl-utils
    - perl-version
...

Comment 9 Tanya Tereshchenko 2020-05-01 14:23:49 UTC
Pulp 2 is in maintenance mode and currently accepts only critical/security issues. The main focus is on Pulp 3 and some of the requests will be satisfied in the newer version.We have evaluated this request, and while we recognize that it is a valid request, we do not expect this to be implemented in Pulp 2. As this issue is not relevant for Pulp 3, we are therefore closing this out as WONTFIX.