Bug 1661040

Summary: [RHEL 7.6] Satellite Update failed due to dependency issue Package: ant-junit-1.9.2-9.el7.noarch Requires: ant = 1.9.2-9.el7
Product: Red Hat Satellite Reporter: Mike McCune <mmccune>
Component: PackagingAssignee: Evgeni Golov <egolov>
Status: CLOSED ERRATA QA Contact: jcallaha
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.4CC: zhunting
Target Milestone: 6.4.2Keywords: PrioBumpGSS, Regression, Triaged, Upgrades
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: satellite-6.4.2-2,satellite- Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1644354 Environment:
Last Closed: 2019-02-13 19:08:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1653153    

Comment 6 jcallaha 2019-01-30 15:09:04 UTC
Verified in Satellite 6.4.2 Snap 1

1. Install a version of Satellite older than 6.4.2 (not strictly required)
2. rpm -Uvh --force --nodeps https://rpmfind.net/linux/centos/6.10/os/x86_64/Packages/ant-junit-1.7.1-15.el6.x86_64.rpm
3. Due to broken deps in ant-junit rpm, add a new line at 103 in the below file to force an exclusion during foreman-maintains upgrade
   [root@sat-6-4-qa-rhel7 ~]# grep --color=auto -inrC 3 exclude /usr/share/gems/gems/foreman_maintain-0.2.11/lib/foreman_maintain/concerns/system_helpers.rb
   103-        options.validate_options!(:assumeyes)
   104-        yum_options = []
   105-        yum_options << '-y' if options[:assumeyes]
   106:        yum_options << '--exclude=ant-junit'
   107-        execute!("yum #{yum_options.join(' ')} #{action} #{packages.join(' ')}",
   108-                 :interactive => true)
   109-      end
4.a Add 6.4.2 repos and perform an upgrade with foreman-maintain
    foreman-maintain upgrade run --target-version 6.4.z --whitelist "disk-performance,repositories-setup,repositories-validate" --assumeyes
4.b Alternatively, you can  
    yum reinstall satellite-common
4.c Alternative to the alternative, you can
    rpm -q --obsoletes satellite-common

4.a/b upgrade/reinstall give this output. however, due to dep issues, it will fail to actually remove the package.
      Removing ant-junit.x86_64 0:1.7.1-15.el6 - od due to obsoletes from installed satellite-common-6.4.2-2.el7sat.noarch
4.c obsoletes output includes ant-junit <= 1.9.2-9.el7

While the package wasn't removed (due to reproducer steps), the satellite-common spec is valid in that it tells yum to remove the package.

Comment 8 errata-xmlrpc 2019-02-13 19:08:20 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.