Bug 1919194

Summary: Satellite to tidy up orphaned packages after successful upgrade.
Product: Red Hat Satellite Reporter: Anthony Hogbin <ahogbin>
Component: PackagingAssignee: Patrick Creech <pcreech>
Status: CLOSED ERRATA QA Contact: Lukas Pramuk <lpramuk>
Severity: urgent Docs Contact:
Priority: high    
Version: 6.6.0CC: ahumbe, arivera, bbuckingham, desingh, dgross, dhjoshi, egolov, ehelms, gpayelka, janarula, jbhatia, jsenkyri, jyejare, kkinge, mkalyat, pdwyer, peter.vreman, rkarimpa, rrajput, saydas, snemeth, sokeeffe, zhunting
Target Milestone: 6.10.1Keywords: Triaged
Target Release: Unused   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: satellite-6.10.1-2 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-18 14:38:46 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 Anthony Hogbin 2021-01-22 11:12:01 UTC
DESCRIPTION OF ISSUE:
Satellite instances are often updated in place.
As these hosts age through further updates - various packages are orphaned with no repository, or simply left installed.
Customers who are scanning and auditing these hosts will have these flagged as risks.
An example of a 6.6 host that has been updated from 6.0 has 312 packages when looked into.

REQUEST:
Remove packages that are no longer updatable / required or orphaned.

Comment 2 Evgeni Golov 2021-01-25 15:44:27 UTC
Hey,

we usually try to clean up things on individual upgrades, but not always catch (or can catch) every case.

You mention you have a list -- mind sharing it? Depending on package type it can have various reasons why we decided not to clean it up blindly (or overseen it).

Comment 6 Peter Vreman 2021-10-14 14:48:46 UTC
This original RFE is now preventing the upgrade to sat6.10beta in my sat6 environment upgraded from 6.5-6.6-6.7-6.8-6.9.
The satellite-common rpm of 6.10Beta obsoletes rh-ruby25-ruby where multiple packages that i have installed are depending on.

Below are 2 Examples packages, there are multiple packages here.
~~~
Error: Package: tfm-rubygem-awesome_print-1.8.0-3.el7sat.noarch (@rhel-7-server-satellite-6.5-rpms)
           Requires: rh-ruby25-ruby(rubygems)
           Removing: rh-ruby25-rubygems-2.7.6.3-9.el7.noarch (@local-rhel-server-rhscl-7-rpms)
               rh-ruby25-ruby(rubygems) = 2.7.6.3-9.el7

Error: Package: tfm-rubygem-pulp_docker_client-4.0.0b6.dev01562331743-1.el7sat.noarch (@rhel-7-server-satellite-6.7-rpms)
           Requires: rh-ruby25-rubygem(json) < 3
           Removing: rh-ruby25-rubygem-json-2.1.0-9.el7.x86_64 (@local-rhel-server-rhscl-7-rpms)
               rh-ruby25-rubygem(json) = 2.1.0-9.el7
           Obsoleted By: satellite-common-6.10.0-0.9.beta.el7sat.noarch (rhel-server-7-satellite-6-beta-rpms)
               Not found
~~~

Comment 7 Ganesh Payelkar 2021-10-15 08:51:54 UTC
There is another concern with the External capsule server about the below packages 

katello-selinux
rubygem-rack

these packages were installed as dependencies with the capsule 6.7 install and are still on the system. The upgrade process from 6.7 to 6.8 to 6.9 did not remove them and they are still on the system.

    Dep-Install katello-selinux-3.1.1-2.el7sat.noarch                            @rhel-7-server-satellite-capsule-6.7-rpm
    Dep-Install rubygem-rack-1:1.6.4-3.el7sat.noarch                             @rhel-7-server-satellite-capsule-6.7-rpms

$ cat installed-rpms |grep -iE "satellite-capsule|katello-selinux|rubygem-rack"
katello-selinux-3.1.1-2.el7sat.noarch                       Mon Jan 27 10:04:32 2020
rubygem-rack-1.6.4-3.el7sat.noarch                          Fri Nov  2 11:41:24 2018
rubygem-rack-protection-1.5.3-4.el7sat.noarch               Fri Nov  2 11:42:56 2018
satellite-capsule-6.8.6-1.el7sat.noarch                     Fri May 21 11:45:11 2021
tfm-rubygem-rack-2.2.3-1.el7sat.noarch                      Thu Jan 28 10:49:09 2021
tfm-rubygem-rack-protection-2.0.3-4.el7sat.noarch           Thu Jan 28 10:50:08 2021



Capsule 6.7 :

# rpm -qa |grep -iE "satellite-capsule|katello-selinux|rubygem-rack"

tfm-ror52-rubygem-rack-protection-2.0.3-1.el7sat.noarch
satellite-capsule-6.7.5-1.el7sat.noarch
rubygem-rack-1.6.4-3.el7sat.noarch
katello-selinux-3.1.1-2.el7sat.noarch
rubygem-rack-protection-1.5.3-4.el7sat.noarch
tfm-ror52-rubygem-rack-2.0.6-1.el7sat.noarch


Capsule 6.8 :
# rpm -qa |grep -iE "satellite-capsule|katello-selinux|rubygem-rack"
tfm-rubygem-rack-protection-2.0.3-4.el7sat.noarch
satellite-capsule-6.8.2-1.el7sat.noarch
tfm-rubygem-rack-2.2.3-1.el7sat.noarch


My new installed capsule 6.9 :

# rpm -qa |grep -iE "satellite-capsule|katello-selinux|rubygem-rack"
tfm-rubygem-rack-protection-2.0.3-4.el7sat.noarch
satellite-capsule-6.9.2.1-1.el7sat.noarch
tfm-rubygem-rack-2.2.3-1.el7sat.noarch


Few more packages : 

rh-ruby25-rubygem-rake-12.3.3-9.el7.noarch                  Tue Oct  5 13:12:19 2021
rubygem-bundler_ext-0.4.1-3.el7sat.noarch                   Wed Jul 25 16:55:45 2018
rubygem-clamp-1.1.2-2.el7sat.noarch                         Fri Nov  2 11:41:23 2018
rubygem-concurrent-ruby-1.1.4-2.el7sat.noarch               Mon Jan 27 10:04:50 2020
rubygem-ffi-1.4.0-3.el7sat.x86_64                           Wed Jul 25 16:55:44 2018
rubygem-gssapi-1.1.2-4.el7sat.noarch                        Wed Jul 25 16:55:44 2018
rubygem-hashie-2.0.5-5.el7sat.noarch                        Fri Nov  2 11:42:37 2018
rubygem-jwt-1.2.1-1.el7sat.noarch                           Mon Dec  9 10:32:01 2019
rubygem-little-plugger-1.1.3-22.el7sat.noarch               Fri Nov  2 11:42:37 2018
rubygem-logging-2.2.2-4.el7sat.noarch                       Mon Jan 27 10:04:30 2020
rubygem-multi_json-1.12.2-2.el7sat.noarch                   Fri Nov  2 11:42:44 2018
rubygem-net-ssh-4.2.0-1.el7sat.noarch                       Mon Jan 27 10:04:50 2020
rubygem-powerbar-2.0.1-2.el7sat.noarch                      Mon Jan 27 10:04:50 2020
rubygem-rack-protection-1.5.3-4.el7sat.noarch               Fri Nov  2 11:42:56 2018
rubygem-rake-0.9.2.2-41.el7sat.noarch                       Wed Jul 25 16:55:44 2018
rubygem-rb-inotify-0.9.7-5.el7sat.noarch                    Mon Jan 27 10:05:02 2020
rubygem-rkerberos-0.1.5-15.el7sat.x86_64                    Mon Jan 27 10:04:49 2020
rubygem-rsec-0.4.3-2.el7sat.noarch                          Wed Sep  9 10:49:04 2020
rubygem-rubyipmi-0.10.0-4.el7sat.noarch                     Wed Sep  9 10:49:07 2020
rubygem-sinatra-1.4.7-3.el7sat.noarch                       Fri Nov  2 11:42:56 2018
satellite-capsule-6.8.6-1.el7sat.noarch                     Fri May 21 11:45:11 2021

tfm-rubygem-bundler_ext-0.4.1-4.el7sat.noarch               Mon Dec  9 10:30:55 2019
tfm-rubygem-clamp-1.1.2-5.el7sat.noarch                     Thu Jan 28 10:50:09 2021
tfm-rubygem-concurrent-ruby-1.1.6-2.el7sat.noarch           Thu Jan 28 10:49:09 2021
tfm-rubygem-concurrent-ruby-edge-0.6.0-2.el7sat.noarch      Thu Jan 28 10:50:08 2021
tfm-rubygem-ffi-1.12.2-1.el7sat.x86_64                      Thu Jan 28 10:49:21 2021
tfm-rubygem-gssapi-1.2.0-6.el7sat.noarch                    Thu Jan 28 10:50:06 2021
tfm-rubygem-hashie-3.6.0-1.el7sat.noarch                    Thu Jan 28 10:50:09 2021
tfm-rubygem-jwt-2.2.1-1.el7sat.noarch                       Thu Jan 28 10:50:09 2021
tfm-rubygem-little-plugger-1.1.4-1.el7sat.noarch            Thu Jan 28 10:50:08 2021
tfm-rubygem-logging-2.2.2-6.el7sat.noarch                   Thu Jan 28 10:50:08 2021
tfm-rubygem-multi_json-1.14.1-1.el7sat.noarch               Thu Jan 28 10:49:21 2021
tfm-rubygem-net-ssh-4.2.0-1.el7sat.noarch                   Mon Jan 27 10:04:08 2020
tfm-rubygem-powerbar-2.0.1-2.el7sat.noarch                  Thu Jan 28 10:50:09 2021
tfm-rubygem-rack-protection-2.0.3-4.el7sat.noarch           Thu Jan 28 10:50:08 2021
tfm-rubygem-rb-inotify-0.9.7-5.el7sat.noarch                Thu Jan 28 10:50:06 2021
tfm-rubygem-rkerberos-0.1.5-18.el7sat.x86_64                Thu Jan 28 10:50:08 2021
tfm-rubygem-rsec-0.4.3-4.el7sat.noarch                      Thu Jan 28 10:50:09 2021
tfm-rubygem-rubyipmi-0.10.0-6.el7sat.noarch                 Thu Jan 28 10:50:09 2021
tfm-rubygem-sinatra-2.0.3-4.el7sat.noarch                   Thu Jan 28 10:50:09 2021

Comment 9 Brad Buckingham 2021-10-18 15:02:29 UTC
Hello Peter,  Thanks for adding the additional information and raising our awareness.  The team is investigating.

Comment 22 Devendra Singh 2021-11-17 14:32:31 UTC
Verified on 6.10.1 Snap1

Verification points:

1- Prepare the Satellite and Capsule of the base version 6.8 using the upgrade templates.
2- Checked the orphaned packages before running the upgrade from 6.8.7 to 6.9.z and they were there.

Satellite: 

# yum --disableplugin=foreman-protector list tfm-rubygem-awesome_print tfm-rubygem-pulp_docker_client tfm-rubygem-ethon tfm-rubygem-typhoeus
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
tfm-rubygem-awesome_print.noarch              1.8.0-3.el7sat                           @rhel-7-server-satellite-6.5-rpms
tfm-rubygem-ethon.noarch                      0.12.0-1.el7sat                          @rhel-7-server-satellite-6.7-rpms
tfm-rubygem-pulp_docker_client.noarch         4.0.0b6.dev01562331743-1.el7sat          @rhel-7-server-satellite-6.7-rpms
tfm-rubygem-typhoeus.noarch                   1.3.1-1.el7sat                           @rhel-7-server-satellite-6.7-rpms

Capsule:

# yum --disableplugin=foreman-protector list rubygem-rack rubygem-rack-protection katello-selinux
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
katello-selinux.noarch                        3.1.1-2.el7sat                   @rhel-7-server-satellite-capsule-6.7-rpms
rubygem-rack.noarch                           1:1.6.4-3.el7sat                 @rhel-7-server-satellite-capsule-6.7-rpms
rubygem-rack-protection.noarch                1.5.3-4.el7sat                   @rhel-7-server-satellite-capsule-6.7-rpms

3- Ran the upgrade from 6.8.7 to 6.9.z and the packages were still there after the upgrade.

Satellite:

 yum --disableplugin=foreman-protector list tfm-rubygem-awesome_print tfm-rubygem-pulp_docker_client tfm-rubygem-ethon tfm-rubygem-typhoeus
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
tfm-rubygem-awesome_print.noarch                                                            1.8.0-3.el7sat                                                                        @rhel-7-server-satellite-6.5-rpms
tfm-rubygem-ethon.noarch                                                                    0.12.0-1.el7sat                                                                       @rhel-7-server-satellite-6.7-rpms
tfm-rubygem-pulp_docker_client.noarch                                                       4.0.0b6.dev01562331743-1.el7sat                                                       @rhel-7-server-satellite-6.7-rpms
tfm-rubygem-typhoeus.noarch                                                                 1.3.1-1.el7sat                                                                        @rhel-7-server-satellite-6.7-rpms


Capsule: 

yum --disableplugin=foreman-protector list tfm-rubygem-awesome_print tfm-rubygem-pulp_docker_client tfm-rubygem-ethon tfm-rubygem-typhoeus
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
tfm-rubygem-awesome_print.noarch                                                            1.8.0-3.el7sat                                                                        @rhel-7-server-satellite-6.5-rpms
tfm-rubygem-ethon.noarch                                                                    0.12.0-1.el7sat                                                                       @rhel-7-server-satellite-6.7-rpms
tfm-rubygem-pulp_docker_client.noarch                                                       4.0.0b6.dev01562331743-1.el7sat                                                       @rhel-7-server-satellite-6.7-rpms
tfm-rubygem-typhoeus.noarch                                                                 1.3.1-1.el7sat                                                                        @rhel-7-server-satellite-6.7-rpms

4- Ran the upgrade from 6.9.z to 6.10 and it was completed successfully on both Satellite and Capsule.

5- Checked the problematic packages after the upgrade and it was removed from both the satellite and capsule side.

Satellite:

# yum --disableplugin=foreman-protector list tfm-rubygem-awesome_print tfm-rubygem-pulp_docker_client tfm-rubygem-ethon tfm-rubygem-typhoeus
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Error: No matching Packages to list

Capsule:

# yum --disableplugin=foreman-protector list tfm-rubygem-awesome_print tfm-rubygem-pulp_docker_client tfm-rubygem-ethon tfm-rubygem-typhoeus
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Error: No matching Packages to list

6- Checked the fixed in-version 

# rpm -qa|grep satellite-6.10.1-2
satellite-6.10.1-2.el7sat.noarch

Comment 28 errata-xmlrpc 2021-11-18 14:38:46 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 (Satellite 6.10.1 Async Bug Fix Update), 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-2021:4737

Comment 32 arivera 2021-12-01 14:18:33 UTC
Problem still persists when upgrading to Satellite 6.10.1

Comment 34 Peter Vreman 2021-12-08 18:01:56 UTC
Sorry, i have to confirm it is not full fixed. On my system rubygem-sinatra (from sat6.5) is blocking the yum update of satellite rpms:

~~~
--> Finished Dependency Resolution
Error: Package: 1:rubygem-sinatra-1.4.7-3.el7sat.noarch (@rhel-7-server-satellite-6.5-rpms)
           Requires: rubygem(rack-protection) >= 1.4.0
           Removing: rubygem-rack-protection-1.5.3-4.el7sat.noarch (@rhel-7-server-satellite-6.5-rpms)
               rubygem(rack-protection) = 1.5.3
           Obsoleted By: satellite-common-6.10.1-2.el7sat.noarch (rhel-7-server-satellite-6.10-rpms)
               Not found
 You could try using --skip-broken to work around the problem
~~~

Comment 35 Sayan Das 2021-12-08 18:03:09 UTC
(In reply to Peter Vreman from comment #34)
> Sorry, i have to confirm it is not full fixed. On my system rubygem-sinatra
> (from sat6.5) is blocking the yum update of satellite rpms:
> 
> ~~~
> --> Finished Dependency Resolution
> Error: Package: 1:rubygem-sinatra-1.4.7-3.el7sat.noarch
> (@rhel-7-server-satellite-6.5-rpms)
>            Requires: rubygem(rack-protection) >= 1.4.0
>            Removing: rubygem-rack-protection-1.5.3-4.el7sat.noarch
> (@rhel-7-server-satellite-6.5-rpms)
>                rubygem(rack-protection) = 1.5.3
>            Obsoleted By: satellite-common-6.10.1-2.el7sat.noarch
> (rhel-7-server-satellite-6.10-rpms)
>                Not found
>  You could try using --skip-broken to work around the problem
> ~~~

Hey Peter,

Please check these ones.

[Satellite 6.10] Satellite upgrade fails due to orphaned RPMs: rubygem-sinatra, rubygem-rack-protection - Red Hat Customer Portal
https://access.redhat.com/solutions/6528671

2024978 – Satellite upgrade to 6.10.1 fails with multiple rubygem-sinatra package dependency errors
https://bugzilla.redhat.com/show_bug.cgi?id=2024978


-- Sayan