Bug 994857 - python-imgcreate and rhev-agent cause update failures
python-imgcreate and rhev-agent cause update failures
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: rpm (Show other bugs)
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: packaging-team-maint
BaseOS QE Security Team
Depends On:
  Show dependency treegraph
Reported: 2013-08-08 02:54 EDT by Radek Bíba
Modified: 2014-12-16 08:08 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2014-12-16 08:08:20 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Radek Bíba 2013-08-08 02:54:15 EDT
Description of problem:
Freshly installed system containing almost every package from many RHEL 6 Server channels can't be cleanly updated:

---> Package python-imgcreate.x86_64 1:13.4.3-1.el6 will be reinstalled
---> Package rhev-hypervisor6-tools.noarch 0:6.3-20121012.0.el6_3 will be obsoleted
 python-imgcreate  x86_64  1:13.4.3-1.el6  rhel-x86_64-server-6-rhevh  87 k
     replacing  rhev-hypervisor6-tools.noarch 6.3-20121012.0.el6_3
Transaction Check Error:
  package python-imgcreate-1:13.4.3-1.el6.x86_64 is already installed

What seems to work around it is: yum update -x python-imgcreate. Then yum says:

---> Package rhev-hypervisor-tools.noarch 0:2.3.0-15.el6_3.18 will be obsoleting
---> Package rhev-hypervisor6-tools.noarch 0:6.3-20121012.0.el6_3 will be obsoleted

and the transaction can run.
Comment 1 Brian Lane 2013-08-08 11:40:34 EDT
Seems like a yum problem, if the package is already installed it shouldn't be trying to reinstall it.
Comment 2 Radek Bíba 2013-09-25 04:20:30 EDT
Most likely related:

# yum update
---> Package rhev-agent.x86_64 0:2.3.16-7.el6_2 will be obsoleted
---> Package rhevm-guest-agent-common.noarch 0:1.0.7-13.el6ev will be reinstalled
 rhevm-guest-agent-common noarch 1.0.7-13.el6ev rhel-x86_64-rhev-agent-6-server 49 k
     replacing  rhev-agent.x86_64 2.3.16-7.el6_2

Transaction Check Error:
  package rhevm-guest-agent-common-1.0.7-13.el6ev.noarch is already installed
Comment 4 James Antill 2014-03-24 11:34:54 EDT
 This looks like some kind of weird packaging obsoletes loop.

 Yum doesn't have a simple way to reinstall packages via. upgrade, so what is likely happening is that something is removing the package and then it's being brought back in for deps. on something else ... which yum is then turning into a reinstall (remove+install=reinstall) ... this is likely confusing rpm's transaction check code (rightly or not).

 Likely the only way to fix this issue is to fix the underlying packaging snafu ... which requires more data about what is obsoleteing what, and what yum is trying to do to solve the problem etc.

 You can try things like:

yum list python-imgcreate
yum upgrade python-imgcreate

...and see what the output is, to give hints. Also the full output of the yum upgrade should say when/why python-imgcreate is being removed the first time.
Comment 5 Radek Bíba 2014-03-25 04:12:30 EDT
The system isn't in the same state now, so I'm getting this output:

# yum list python-imgcreate
Installed Packages
python-imgcreate.x86_64 1:13.4.4-1.el6_5 rhel-x86_64-server-6-rhevh

(Note: there was an upgrade of the package between the day I filed the bug and now.)

# yum upgrade python-imgcreate
No Packages marked for Update

When I install rhev-hypervisor6-tools(-6.3-20121012.0.el6_3.noarch) again (it's intentionally excluded from the test system because it's a "known troublemaker"), the situation changes. When I run "yum update", w/o any specific package on the command line, then transaction check error described in comment 0 occurs again.
Comment 6 James Antill 2014-03-27 11:44:47 EDT
 If you show all the output from the yum upgrade, we can try to work out what the packaging problem is.
Comment 7 Radek Bíba 2014-03-28 02:06:10 EDT
Here it is:

# yum upgrade
Loaded plugins: aliases, auto-update-debuginfo, changelog, downloadonly,
              : fastestmirror, filter-data, fs-snapshot, kabi, keys, list-data,
              : merge-conf, post-transaction-actions, presto, priorities,
              : product-id, protectbase, ps, refresh-packagekit, remove-with-
              : leaves, rhnplugin, rpm-warm-cache, security, show-leaves,
              : subscription-manager, tmprepo, tsflags, upgrade-helper, verify,
              : versionlock
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
This system is receiving updates from RHN Classic or RHN Satellite.
Loading support for Red Hat kernel ABI
Loading mirror speeds from cached hostfile
Skipping filters plugin, no data
0 packages excluded due to repository protections
Setting up Upgrade Process
Resolving Dependencies
Skipping filters plugin, no data
--> Running transaction check
---> Package python-imgcreate.x86_64 1:13.4.4-1.el6_5 will be reinstalled
---> Package rhev-hypervisor6-tools.noarch 0:6.3-20121012.0.el6_3 will be obsoleted
--> Finished Dependency Resolution

Dependencies Resolved

 Package           Arch    Version            Repository                   Size
 python-imgcreate  x86_64  1:13.4.4-1.el6_5   rhel-x86_64-server-6-rhevh   87 k
     replacing  rhev-hypervisor6-tools.noarch 6.3-20121012.0.el6_3

Transaction Summary
Install       1 Package(s)

Total download size: 87 k
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 87 k
python-imgcreate-13.4.4-1.el6_5.x86_64.rpm               |  87 kB     00:00     
Running rpm_check_debug
Running Transaction Test

Transaction Check Error:
  package python-imgcreate-1:13.4.4-1.el6_5.x86_64 is already installed

Error Summary
Comment 8 James Antill 2014-06-17 10:38:40 EDT
 Here's the packaging problem:

# yum list python-imgcreate rhev-hy\*
Installed Packages
python-imgcreate.x86_64        1:13.4.4-1.el6_5      @rhel-x86_64-server-6-rhevh
rhev-hypervisor6-tools.noarch  6.3-20121012.0.el6_3  @rhel-x86_64-server-6-rhevh
Available Packages
rhev-hypervisor-tools.noarch   2.3.0-15.el6_3.18     rhel-x86_64-server-6-rhevh 
rhev-hypervisor6.noarch        6.5-20140603.2.el6ev  rhel-x86_64-server-6-rhevh 
# repoquery --plugins --obsoletes rhev-hypervisor-tools
rhev-hypervisor6-tools < 6.4
# rpm -q --obsoletes python-imgcreate
rhev-hypervisor-tools < 2.5.0
rhev-hypervisor6-tools < 6.3
rhev-hypervisor5-tools < 5.9

...so what happens is:

1. yum sees that rhev-hypervisor-tools obsoletes the installed rhev-hypervisor6-tools (< 6.4 matches against 6.3-2012...)

2. yum then sees that the installed python-imgcreate obsoletes the to be installed rhev-hypervisor-tools (< 2.5.0 matches against 2.3.0-15...)

3. yum follows the obsolete loop and tells rpm to reinstall python-imgcreate, and obsolete rhev-hypervisor6-tools. rpm then fails the rpm dep. check (this looks like an error in rpm, but it's complicated by the fact that rpm can't see the obsolete loop).

...I'm going to move this bug to rpm due to #3, but I wouldn't guarantee that'll get fixed quickly ... and someone should just fix the broken packaging.
Comment 9 James Antill 2014-06-17 10:45:59 EDT
As for comment#2 ... it's the same problem (except better as there is no versioning on the obsoletes, so it'll be almost impossible to fix):

# yum list rhev-agent rhevm-guest\*
Installed Packages
rhev-agent.x86_64                  2.3.16-7.el6_2
rhevm-guest-agent-common.noarch    1.0.9-4.el6ev @rhel-x86_64-rhev-agent-6-server
Available Packages
rhevm-guest-agent.x86_64           1.0.5-13.el6ev
rhevm-guest-agent-debuginfo.x86_64 1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server-debuginfo
                                   1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server
                                   1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server
                                   1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server
# repoquery --plugins --obsoletes rhevm-guest-agent
# rpm -q --obsoletes rhevm-guest-agent-common

...so again what is installed is "fine" because it doesn't directly obsolete (have to install the packages using --setopt=obsoletes=false), but when you try to upgrade you hit the loop that ends up with the installed rhevm-guest-agent trying to obsolete rhev-agent. Again, it's just broken packaging.
Comment 10 Florian Festi 2014-12-16 08:08:20 EST
As far as I can see this is just an packaging error. Please reopen if you still think this should be fixed in rpm or yum.

Note You need to log in before you can comment on or make changes to this bug.