Bug 589462

Summary: CRM #1972352 - Ordering issues during package profile comparison of x86_64 systems on RHN
Product: [Retired] Red Hat Network Reporter: Issue Tracker <tao>
Component: RHN/Web SiteAssignee: rhn-dev-list
Status: CLOSED CURRENTRELEASE QA Contact: Red Hat Network Quality Assurance <rhn-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: rhn521CC: acarter, ggainey, jadeblaquiere, rhn-bugs, sskracic, tao, vambati, xdmoon
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: US=5405
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-14 13:44:42 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:
Bug Depends On:    
Bug Blocks: 651407    

Description Issue Tracker 2010-05-06 08:37:23 UTC
Escalated to Bugzilla from IssueTracker

Comment 1 Issue Tracker 2010-05-06 08:37:25 UTC
Event posted on 04-24-2010 02:48am EDT by pmutha

State whether Satellite or RHN hosted 
- RHN Hosted
 
Indicate the platform(s) (architectures) the problem is being reported against.
- RHEL 4 ES x86_64 registered on RHN Hosted

Provide clear and concise problem description as it is understood at the time of escalation
- When comparing the x86_64 system's package profile to a stored profile, for packages which are installed for both architectures, it doesn't show the correct status. Instead of showing the pacakge to be upgraded, it shows multiple entries i.e package removal as well as package install. Instead it should show package upgrade or package downgrade.

Example: if the system has :
device-mapper-1.02.28-2.el4_8.1.i386 and device-mapper-1.02.28-2.el4_8.1.x86_64  installed on it and if the profile has device-mapper-1.02.25-2.el4 then instead of showing just entries for this package it shows 3 entries. To get a clear idea refer the screenshot.

How Reproducible
- Always

Steps to Reproduce
- Register a x86_64 system having both i386 and x86_64 packages installed
- Create a packageprofile
- Update the system specially the package with i386 and x86_64 packages.
- Compare the system to stored profile
- Check the package which has both architectures installed.

Observed Behavior
- 
Package	This System	Profile of h1crm88abeforepatching V2	Difference
device-mapper 	 1.02.28-2.el4_8.1 	 	 This system only
device-mapper 	1.02.28-2.el4_8.1 		This system only
device-mapper 		1.02.25-2.el4 	Profile only 

Expected Behavior
-Package	This System	Profile of h1crm88abeforepatching V2	Difference
device-mapper 	 1.02.28-2.el4_8.1 	 	 This system only
device-mapper 	1.02.28-2.el4_8.1 	1.02.25-2.el4		 This system newer 

Action Required from SEG 
- Looks like a bug where arch information isn't considered ? There was a similar bug on RHN Satellite https://bugzilla.redhat.com/show_bug.cgi?id=428139
- Also inspite of selecting all these entries it still shows 1 selected. Not sure but doubt if this is related.

Have attached the screenshot as well as rpm-qa output before sync which has 2 device-mapper packages i386 and x86_64. Profile to which this was being synce'd has just 1 package device-mapper-1.02.25-2.el4 

Regards,
Paresh

This event sent from IssueTracker by vgaikwad  [Support Engineering Group]
 issue 806443

Comment 3 Sebastian Skracic 2010-11-19 12:06:59 UTC
  The root cause of this problem is that in Hosted we haven't been recording the package architecture information in stored profiles.

  This is now fixed.  However, there is no reliable way to magically amend the existing stored profile package data.  Therefore, only profiles created after this fix will have full package information.

  Consequently, any attempt to use "old" profiles to compare some server against will revert the comparison process to previous behavior, ie. all package architecture information will be discarded before the comparison in performed.  This also means that multi-arch packages (eg. tcl.i386 and tcl.x86_64) will be considered as single package (tcl) for the purpose of comparison.

  Comparing a system with a profile stored after this change is live will have no such restrictions.

  Unfortunately, when the difference in server profiles is such that some package exists in two architectures (eg. tcl.i386 and tcl.x86_64) on one side, and only in one on the other side (eg. tcl.i386), due to limitations in backend code it is not possible to schedule a package sync action which would correctly install/remove the missing arch package.

  The code and dbchange provided in 4d70a11c952fae39796038da3dcc71ffe7e52579.

Comment 4 Sebastian Skracic 2010-11-19 13:19:33 UTC
Accidentally omitted bbcde5ae87b6a45a8f10c00f90b993245d8eff70.  Available on WEBDEV.

Comment 5 venkat 2010-11-30 18:40:02 UTC
verified in webdev.

Comment 6 Sebastian Skracic 2010-12-21 14:16:17 UTC
*** Bug 457423 has been marked as a duplicate of this bug. ***