Bug 617181

Summary: Depsolving problems with up2date
Product: Red Hat Enterprise Linux 4 Reporter: Jaroslav Kortus <jkortus>
Component: up2dateAssignee: Miroslav Suchý <msuchy>
Status: CLOSED DUPLICATE QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: low    
Version: 4.8CC: cperry, jhutar, lockhart
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-06 10:11:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
rpm package set on the node
none
packages to be installed via up2date -i `cat pkglist.txt` none

Description Jaroslav Kortus 2010-07-22 12:17:35 UTC
Description of problem:
Recently it happens quite often that dependencies cannot be solved at once.

See the following example:
.live.[root@i386-4as-m2 ~]# up2date -i ccs-devel cman-devel dlm-devel gulm-devel

Fetching Obsoletes list for channel: rhel-i386-as-4...

Fetching Obsoletes list for channel: rhel-i386-as-4-extras...

Fetching Obsoletes list for channel: rhel-i386-as-4-hwcert...

Fetching Obsoletes list for channel: rhn-tools-rhel-4-as-i386...

Fetching Obsoletes list for channel: rhel-i386-as-4-gfs-6.1...

Fetching Obsoletes list for channel: rhel-i386-as-4-cluster...

Fetching Obsoletes list for channel: rhel-i386-as-4-fastrack...

Fetching Obsoletes list for channel: rhel-i386-as-4-rhcmsys-7.3...

Fetching Obsoletes list for channel: rhel-i386-as-4-rhdirserv-8...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-messaging-base-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-messaging-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-grid-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-management-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-grid-execute-1...

Fetching rpm headers...
########################################

Name                                    Version              Rel               Arch
----------------------------------------------------------------------------------------
ccs-devel                               1.0.12              1                   i686  
cman-devel                              1.0.27              1.el4               i686  
dlm-devel                               1.0.7               1                   i686  
gulm-devel                              1.0.10              0                   i686  


Testing package set / solving RPM inter-dependencies...
warning: package cman = 1.0.0-0 was already added, replacing with cman <= 1.0.27-1.el4
########################################
RPM package conflict error.  The message was:
Test install failed because of package conflicts:
The following packages were added to your selection to satisfy dependencies:
Name                                    Version        Release
--------------------------------------------------------------
cman                                    1.0.0          0                   
cman-kernel-smp                         2.6.9          36.0                
dlm                                     1.0.7          1                   
dlm-kernel-smp                          2.6.9          34.0                
gulm                                    1.0.10         0                   
kernel-smp                              2.6.9          11.EL               
cman                                    1.0.27         1.el4               

package kernel-smp-2.6.9-89.EL (which is newer than kernel-smp-2.6.9-11.EL) is already installed
package kernel-smp-2.6.9-89.0.26.EL (which is newer than kernel-smp-2.6.9-11.EL) is already installed

-------------------------------------------------------------------------
And now the same request, just in one command:

.live.[root@i386-4as-m2 ~]# up2date -i ccs-devel cman-devel dlm-devel gulm-devel cman cman-kernel-smp dlm dlm-kernel-smp gulm kernel-smp 

Fetching Obsoletes list for channel: rhel-i386-as-4...

Fetching Obsoletes list for channel: rhel-i386-as-4-extras...

Fetching Obsoletes list for channel: rhel-i386-as-4-hwcert...

Fetching Obsoletes list for channel: rhn-tools-rhel-4-as-i386...

Fetching Obsoletes list for channel: rhel-i386-as-4-gfs-6.1...

Fetching Obsoletes list for channel: rhel-i386-as-4-cluster...

Fetching Obsoletes list for channel: rhel-i386-as-4-fastrack...

Fetching Obsoletes list for channel: rhel-i386-as-4-rhcmsys-7.3...

Fetching Obsoletes list for channel: rhel-i386-as-4-rhdirserv-8...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-messaging-base-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-messaging-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-grid-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-management-1...

Fetching Obsoletes list for channel: rhel-i386-as-4-mrg-grid-execute-1...

Fetching rpm headers...
########################################

Name                                    Version              Rel               Arch
----------------------------------------------------------------------------------------
ccs-devel                               1.0.12              1                   i686  
cman                                    1.0.27              1.el4               i686  
cman-devel                              1.0.27              1.el4               i686  
cman-kernel-smp                         2.6.9               56.7.el4_8.15       i686  
dlm                                     1.0.7               1                   i686  
dlm-devel                               1.0.7               1                   i686  
dlm-kernel-smp                          2.6.9               58.6.el4_8.17       i686  
gulm                                    1.0.10              0                   i686  
gulm-devel                              1.0.10              0                   i686  


Testing package set / solving RPM inter-dependencies...
########################################
ccs-devel-1.0.12-1.i686.rpm ########################## Done.                   
cman-1.0.27-1.el4.i686.rpm: ########################## Done.                   
cman-devel-1.0.27-1.el4.i68 ########################## Done.                   
cman-kernel-smp-2.6.9-56.7. ########################## Done.                   
dlm-1.0.7-1.i686.rpm:       ########################## Done.                   
dlm-devel-1.0.7-1.i686.rpm: ########################## Done.                   
dlm-kernel-smp-2.6.9-58.6.e ########################## Done.                   
gulm-1.0.10-0.i686.rpm:     ########################## Done.                   
gulm-devel-1.0.10-0.i686.rp ########################## Done.                   
Preparing              ########################################### [100%]

Installing...
[...]



Both the up2date commands must have the same result, i.e. successfully resolve the dependencies and install the packages.

Another example might be net-snmp-libs, I'm also unable to update the system with net-snmp-libs installed. Uninstall (rpm -e), up2date -u and re-install (up2date -i) installs the newest version properly.


Version-Release number of selected component (if applicable):
.live.[root@i386-4as-m2 ~]# rpm -q rpm up2date
rpm-4.3.3-32_nonptl.i386
up2date-4.8.1-33.el4_8.8.i386


How reproducible:


Steps to Reproduce:
see above

Actual results:
up2date is unable to resolve dependecies and reports conflicts

Expected results:
successful installation

Additional info:

Comment 1 Miroslav Suchý 2010-08-19 08:32:50 UTC
I could not reproduce it with net-snmp-libs:

[root@vmware123 ~]# rpm -q net-snmp-libs
net-snmp-libs-5.1.2-18.el4
[root@vmware123 ~]# up2date net-snmp-libs

Fetching Obsoletes list for channel: rhel-i386-as-4...

Fetching Obsoletes list for channel: rhn-tools-rhel-4-as-i386...

Fetching rpm headers...
########################################

Name                                    Version              Rel               Arch
----------------------------------------------------------------------------------------
net-snmp-libs                           5.1.2               18.el4_8.2          i386


Testing package set / solving RPM inter-dependencies...
########################################
net-snmp-libs-5.1.2-18.el4_ ########################## Done.
Preparing              ########################################### [100%]

Installing...
   1:net-snmp-libs          ########################################### [100%]

Comment 2 Miroslav Suchý 2010-08-19 08:37:03 UTC
I can reproduce it with:
up2date -i ccs-devel cman-devel dlm-devel gulm-devel
vs.
up2date -i ccs-devel cman-devel dlm-devel gulm-devel cman cman-kernel-smp dlm dlm-kernel-smp gulm kernel-smp

Note to myself - those packages are in Red Hat Cluster Suite (for AS v. 4 for x86) channel.

Last command resolve the dependecy but I get TB near the end of installation:
[Wed Sep 16 07:15:48 2009] up2date   File "/usr/sbin/up2date", line 1315, in ?
    sys.exit(main() or 0)
   File "/usr/sbin/up2date", line 816, in main
    fullUpdate, dryRun=options.dry_run))
   File "/usr/sbin/up2date", line 1163, in batchRun
    batch.run()
   File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 99, in run
    self.__installPackages()
   File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 258, in __installPackages
    self.kernelsToInstall = up2date.installPackages(self.packagesToInstall, self.rpmCallback)
   File "/usr/share/rhn/up2date_client/up2date.py", line 870, in installPackages
    runTransaction(ts, added, removed,rpmCallback, rollbacktrans = rollbacktrans)
   File "/usr/share/rhn/up2date_client/up2date.py", line 731, in runTransaction
    (ts, deps, added) = solve_deps(ts, deps, added)
   File "/usr/share/rhn/up2date_client/up2date.py", line 676, in solve_deps
    if pkg[:4] not in final_pkg_set:

But that may be different problem.

Comment 3 Jaroslav Kortus 2010-08-19 10:36:35 UTC
if you do the simplified version of what I did, it will work, and it's actually a workaround for this problem ([root@vmware123 ~]# up2date net-snmp-libs).

The problem is hidden somewhere in dependencies solving. I.e. one of my packages went through the dependency chain and found out it needs net-snmp. Somehow this got resolved to old version, which later caused the conflicts.

Comment 4 Jaroslav Kortus 2010-08-19 15:05:20 UTC
Created attachment 439711 [details]
rpm package set on the node

Comment 5 Jaroslav Kortus 2010-08-19 15:05:56 UTC
Created attachment 439712 [details]
packages to be installed via up2date -i `cat pkglist.txt`

Comment 6 Jaroslav Kortus 2010-08-19 15:08:03 UTC
I have attached 2 lists of rpm packages. 

First is the set present on the node, that's rhel4-u8 kickstart + up2date via RHN.

Second one is packages I want to install via up2date -i `cat pkglist.txt`. This used to work well, now it reports conflicts.

On my x86_64 nodes the error message is:
package net-snmp-libs-5.1.2-18.el4_8.2 (which is newer than net-snmp-libs-5.1.2-18.el4) is already installed
package krb5-libs-1.3.4-62.el4_8.2 (which is newer than krb5-libs-1.3.4-62.el4) is already installed
package openssl-0.9.7a-43.17.el4_8.5 (which is newer than openssl-0.9.7a-43.17.el4_7.2) is already installed
package net-snmp-libs-5.1.2-18.el4_8.2 (which is newer than net-snmp-libs-5.1.2-18.el4) is already installed

on others (i686, ia64):
package net-snmp-libs-5.1.2-18.el4_8.2 (which is newer than net-snmp-libs-5.1.2-18.el4) is already installed

Comment 7 Jaroslav Kortus 2010-08-19 15:20:34 UTC
After using the workaround, there are older (!!) versions of some packages installed. After using the workaround above (up2date -i net-snmp net-snmp-libs) and install procedure (up2date -i `cat pkglist.txt`) and after it finishes, following up2date -u prints:

Name                                    Version              Rel               Arch
----------------------------------------------------------------------------------------
apr                                     0.9.4               24.9.el4_8.2        x86_64
apr-util                                0.9.4               22.el4_8.2          x86_64
curl                                    7.12.1              11.1.el4_8.3        x86_64
httpd                                   2.0.52              41.ent.7            x86_64
httpd-suexec                            2.0.52              41.ent.7            x86_64
nspr                                    4.8.4               1.1.el4_8           x86_64
nss                                     3.12.6              1.el4_8             x86_64
pango                                   1.6.0               16.el4_8            x86_64
php                                     4.3.9               3.29                x86_64
php-pear                                4.3.9               3.29                x86_64


All of this packages were installed as part of the install procedure (the system was fully updated just before this step).

Comment 8 Clifford Perry 2010-09-24 15:34:04 UTC
Duplicate of bug 618328 ?? 

RHEL 4.9 needs be have tight focus. Unless this is the same issues customers are reporting in current up2date code, I am not inclined to fix yet another issue, which maybe is a corner case, but introduces new regressions in behavior. 

Cliff

Comment 9 Miroslav Suchý 2010-10-06 10:11:16 UTC
Definitely duplicate of 618328

*** This bug has been marked as a duplicate of bug 618328 ***