Bug 1774670

Summary: dnf remove --oldinstallonly does not remove old kernels
Product: Red Hat Enterprise Linux 8 Reporter: jcastran
Component: libdnfAssignee: Jaroslav Mracek <jmracek>
Status: CLOSED ERRATA QA Contact: Eva Mrakova <emrakova>
Severity: high Docs Contact:
Priority: medium    
Version: 8.2CC: amatej, emrakova
Target Milestone: rcKeywords: Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: dnf-4.2.17-4.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:49:06 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 jcastran 2019-11-20 16:40:36 UTC
Description of problem:
dnf remove --oldinstallonly does not remove old kernels

Version-Release number of selected component (if applicable):
libdnf-0.35.1-9.el8_1.x86_64
dnf-4.2.7-7.el8_1.noarch

How reproducible:
Everytime

Steps to Reproduce:
1. Install multiple kernels
2. # dnf remove --oldinstallonly

Actual results:
Error: No old installonly packages found for removal.

Expected results:
dnf should remove the oldest "installonly" pkgs and leave only the latest

Additional info:
# man dnf

       dnf [options] remove --oldinstallonly
              Removes old installonly packages, keeping only installonly_limit latest versions.

I can see there are installonly packages here:

# dnf repoquery --installonly
Updating Subscription Management repositories.
kernel-0:4.18.0-147.0.3.el8_1.x86_64
kernel-0:4.18.0-80.el8.x86_64
kernel-core-0:4.18.0-147.0.3.el8_1.x86_64
kernel-core-0:4.18.0-80.el8.x86_64
kernel-modules-0:4.18.0-147.0.3.el8_1.x86_64
kernel-modules-0:4.18.0-80.el8.x86_64

According to yum2dnf, this is supposed to replace package-cleanup --oldkernels so I would expect it to remove old kernels.

# man yum2dnf

   Detailed table for package-cleanup replacement:

    ┌─────────────────────────────┬─────────────────────────────┐
    │package-cleanup --dupes      │ dnf repoquery --duplicates  │
    ├─────────────────────────────┼─────────────────────────────┤
    │package-cleanup --leaves     │ dnf repoquery --unneeded    │
    ├─────────────────────────────┼─────────────────────────────┤
    │package-cleanup --orphans    │ dnf repoquery --extras      │
    ├─────────────────────────────┼─────────────────────────────┤
    │package-cleanup --oldkernels │ dnf repoquery --installonly │
    ├─────────────────────────────┼─────────────────────────────┤
    │package-cleanup --problems   │ dnf repoquery --unsatisfied │
    ├─────────────────────────────┼─────────────────────────────┤
    │package-cleanup --cleandupes │ dnf remove --duplicates     │
    ├─────────────────────────────┼─────────────────────────────┤
    │package-cleanup --oldkernels │ dnf remove --oldinstallonly │

Comment 1 Jaroslav Mracek 2019-11-22 17:31:09 UTC
I created a patch https://github.com/rpm-software-management/dnf/pull/1540 that restore the original functionality. Also the patch will not remove the running kernel.

Comment 2 Jaroslav Mracek 2019-12-02 13:06:16 UTC
Do you require anything else from devel-team (dnf with applied patch or anything else?)

Comment 3 jcastran 2019-12-02 14:17:47 UTC
*** Bug 1774666 has been marked as a duplicate of this bug. ***

Comment 4 jcastran 2019-12-02 16:50:36 UTC
Can we include this in a RHEL release as well for customers?

Comment 11 Vratislav Hutsky 2020-01-08 09:02:01 UTC
Restoring previous qa_ack+ as agreed earlier.

Comment 18 errata-xmlrpc 2020-04-28 16:49:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:1823