Bug 994857
Summary: | python-imgcreate and rhev-agent cause update failures | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Radek Bíba <rbiba> |
Component: | rpm | Assignee: | Packaging Maintenance Team <packaging-team-maint> |
Status: | CLOSED NOTABUG | QA Contact: | BaseOS QE Security Team <qe-baseos-security> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 6.4 | CC: | dhuff, ffesti, james.antill, pmatilai, rbiba |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-12-16 13:08:20 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
Radek Bíba
2013-08-08 06:54:15 UTC
Seems like a yum problem, if the package is already installed it shouldn't be trying to reinstall it. 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 ... Installing: 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 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. 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. If you show all the output from the yum upgrade, we can try to work out what the packaging problem is. 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 ================================================================================ Installing: 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 ------------- 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. 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 @rhel-x86_64-rhev-agent-6-server 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 rhel-x86_64-rhev-agent-6-server rhevm-guest-agent-debuginfo.x86_64 1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server-debuginfo rhevm-guest-agent-gdm-plugin.x86_64 1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server rhevm-guest-agent-kdm-plugin.x86_64 1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server rhevm-guest-agent-pam-module.x86_64 1.0.9-4.el6ev rhel-x86_64-rhev-agent-6-server # repoquery --plugins --obsoletes rhevm-guest-agent rhev-agent # rpm -q --obsoletes rhevm-guest-agent-common rhev-agent rhevm-guest-agent ...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. 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. |