Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #31270 - Fix applicability with modular vs non-modular rpms #9107

Merged
merged 2 commits into from Jan 27, 2021

Conversation

ianballou
Copy link
Member

@ianballou ianballou commented Jan 20, 2021

This PR addresses an issue Katello/Pulp 3 applicability where newer non-modular RPMs are marked as applicable for older modular RPMs. This is not possible since dnf locks down modular packages when a related module is enabled, which blocks the installation of non-modular RPMs with the same name as the locked modular ones.

To test:

  1. Sync needed-errata (https://jlsherrill.fedorapeople.org/fake-repos/needed-errata/), modules-rpms (https://partha.fedorapeople.org/test-repos/separated/modules-rpms/), and rpm-deps (https://partha.fedorapeople.org/test-repos/separated/rpm-deps/)
  2. Register an EL8 content host and subscribe it
  3. yum module enable walrus:0.71
  4. dnf uploadprofile --force-upload for good measure
  5. Take a look at the host's applicability. walrus-5.21 should be marked as applicable
  • This is wrong because a non-modular RPM should not be applicable for a modular RPM when its module stream is enabled
  1. Switch to my PR
  2. Regenerate applicability again
  3. walrus-5.21 should disappear from the host's applicability

TODO:

  • Add some tests
  • Can this be optimized?

@theforeman-bot
Copy link

Issues: #31270

@ianballou ianballou changed the title 31270 fix applicable modular rpms Fixes #31270 - Fix applicability with modular vs non-modular rpms Jan 20, 2021
@ianballou ianballou force-pushed the 31270-fix-applicable-modular-rpms branch from 3fd86da to 5772780 Compare January 20, 2021 19:34
@ianballou ianballou force-pushed the 31270-fix-applicable-modular-rpms branch from 5772780 to df1176b Compare January 20, 2021 19:35
Copy link
Member

@jlsherrill jlsherrill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

I reproduced the problem and this pr solved it. Performance seems on par with current levels

@ianballou ianballou merged commit 56fb9e5 into Katello:master Jan 27, 2021
@ianballou ianballou deleted the 31270-fix-applicable-modular-rpms branch January 27, 2021 15:19
ranjan pushed a commit to ranjan/katello that referenced this pull request Feb 9, 2021
…tello#9107)

* Fixes #31270 - properly ignore non-modular rpms for modular-rpm applicability

* Refs #31270 - use enabled modules for modular rpm checking instead
ianballou added a commit to ianballou/katello that referenced this pull request Feb 16, 2021
…tello#9107)

* Fixes #31270 - properly ignore non-modular rpms for modular-rpm applicability

* Refs #31270 - use enabled modules for modular rpm checking instead
jturel pushed a commit to jturel/katello that referenced this pull request Mar 4, 2021
…tello#9107)

* Fixes #31270 - properly ignore non-modular rpms for modular-rpm applicability

* Refs #31270 - use enabled modules for modular rpm checking instead

(cherry picked from commit 56fb9e5)
jturel pushed a commit that referenced this pull request Mar 10, 2021
)

* Fixes #31270 - properly ignore non-modular rpms for modular-rpm applicability

* Refs #31270 - use enabled modules for modular rpm checking instead

(cherry picked from commit 56fb9e5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants