Project

Profile

Help

Issue #5942

centos 8 appstream non-modular rpms are marked as modular

Added by jsherril@redhat.com 5 months ago. Updated 3 months ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
Severity:
2. Medium
Version:
Platform Release:
2.21.1
Blocks Release:
OS:
Backwards Incompatible:
No
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:
Sprint 63

Description

On my pulp 2 box running pulp-rpm-plugins-2.21.0-1.el7.noarch, i synced these two repos:

http://mirror.linux.duke.edu/pub/centos/8/AppStream/x86_64/os/
http://mirror.linux.duke.edu/pub/centos/8/BaseOS/x86_64/os/

and then examining the appstream repo, it seems that there are over 4000 rpms in it that are marked as modular but shouldn't be. Take git-2.18.1-3.el8.x86_64 as an example.

Pulp shows it as: "is_modular" : true

but examining the modules md file, that rpm does not show up as an artifact. I can't determine why pulp is marking it as modular. The rpm header itself also shows it as non-modular:

$ rpm -q  --queryformat "%{MODULARITYLABEL}\n"  -p git-2.18.1-3.el8.x86_64.rpm 
warning: git-2.18.1-3.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
(none)
$ rpm -q  --queryformat "%{DISTTAG}\n"  -p git-2.18.1-3.el8.x86_64.rpm 
warning: git-2.18.1-3.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
(none)

Associated revisions

Revision 117ea811 View on GitHub
Added by ttereshc 5 months ago

Set is_modular flag correctly if there is a module with no artifacts in a repo

Checking if a quesryset is empty because: Empty queryset Q() combined with raw query makes only the __raw_part applied (the root cause of the bug). Non-empty queryset combined with raw evaluates as AND expression, so both are applied (expected).

closes #5942 https://pulp.plan.io/issues/5942

Revision 1130ea71 View on GitHub
Added by ttereshc 3 months ago

Set is_modular flag correctly if there is a module with no artifacts in a repo

Checking if a quesryset is empty because: Empty queryset Q() combined with raw query makes only the __raw_part applied (the root cause of the bug). Non-empty queryset combined with raw evaluates as AND expression, so both are applied (expected).

closes #5942 https://pulp.plan.io/issues/5942

(cherry picked from commit 117ea811e3d1b492981895d8784aa4bd6df54319)

History

#1 Updated by jsherril@redhat.com 5 months ago

This also happens for RHEL 8 os and appstream

#2 Updated by ttereshc 5 months ago

  • Status changed from NEW to ASSIGNED

#3 Updated by ttereshc 5 months ago

  • Assignee set to ttereshc

#4 Updated by ttereshc 5 months ago

  • Triaged changed from No to Yes
  • Sprint set to Sprint 63

#5 Updated by ttereshc 5 months ago

The issue happens when a repo has at least one module with no artifacts.
In case of Centos 8 it's perl 5.26.

Another problem which this bug triggers is during removal of a module without artifacts - all rpms are removed from a repo. E.g. if you try to remove perl 5.26 module, all RPMs will be unassociated from a repo and it takes a lot of time (in case of centos repo ~1h) for the task to complete. retested, not a valid problem

#6 Updated by ttereshc 5 months ago

Hold on. Retesting to check that criteria was correct for removal request.

#7 Updated by ttereshc 5 months ago

  • Status changed from ASSIGNED to MODIFIED

#9 Updated by ttereshc 5 months ago

  • Tags Pulp 2 added

#10 Updated by ipanova@redhat.com 4 months ago

  • Platform Release set to 2.21.1

#11 Updated by ttereshc 3 months ago

#12 Updated by ipanova@redhat.com 3 months ago

  • Status changed from MODIFIED to ON_QA

#13 Updated by ipanova@redhat.com 3 months ago

  • Status changed from ON_QA to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF