Bug 456539 - System->Software->Verify - package verification fails on multiarch clients
Summary: System->Software->Verify - package verification fails on multiarch clients
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: Server
Version: 0.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Brad Buckingham
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space04 524826
TreeView+ depends on / blocked
 
Reported: 2008-07-24 14:23 UTC by Brad Buckingham
Modified: 2012-02-08 04:35 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
: 524826 (view as bug list)
Environment:
Last Closed: 2009-01-22 16:29:44 UTC
Embargoed:


Attachments (Terms of Use)

Description Brad Buckingham 2008-07-24 14:23:05 UTC
Description of problem:

When scheduling a package verification from Spacewalk on a client that has
modified files belonging to 2 packages with same NEVR but different
architectures, the scheduled verification action never completes and each
attempt generates an Internal Server Error.

How reproducible:
Always

Steps to Reproduce:
1. Populate an x86_64 channel on Spacewalk 
2. Install/register a client system using that channel
3. Identify a package on the client that:
- has i386 and x86_64 versions
- has a modified file
(nss should match these requirements on a default install)
4. On Spacewalk, select the client system and go to Software->Packages->Verify
5. Select both versions of the package identified in step 3 and click on 'Verify
Selected Packages', then Confirm
6. Run rhn_check -vvv on the client

Actual results:

The verify action never completes and each attempt generates an Internal Server
Error.

The traceback email associated with the ISE reveals a problem on the database:

'ORA-00001: unique constraint (RHNSAT.RHN_SACTIONVR_SANEC_UQ) violated\\n'

The problem appears to be that this unique index (RHN_SACTIONVR_SANEC_UQ) does
not include the package's architecture in its definition for uniqueness.

Expected results:
Package verifications succeed.  Spacewalk should handle multi-arch (same package
NEVR and different architecture).

Additional info:

Comment 1 Brad Buckingham 2008-11-04 14:28:32 UTC
Git commit: 24cdb841e3ac11667040de3c4d4ce3a68e5217f7

Added package_arch_id to the index for rhnServerActionVerifyMissing and rhnServerActionVerifyResult.  Verified that user could then perform package verification of 2 pkgs with same nevr but differing arch.

Scenario:

1. register rhel4 x86_64 client
2. up2date --arch=i386 nss_ldap

observe:[root@dhcp77-134 rpm]# rpm -qa --queryformat="%{NAME}.%{ARCH}\\n" |grep nss_ldap
nss_ldap.x86_64
nss_ldap.i386

[root@dhcp77-134 rpm]# rpm -qa |grep nss_ldap
nss_ldap-253-5.el4
nss_ldap-253-5.el4

3. perform: Software-Packages->Verify: schedule package verification for nss_ldap i386 & x86_64

4. rhn_check -vvv

No tracebacks or errors reported to /var/log/httpd/error_log

Comment 2 Brad Buckingham 2009-01-15 17:36:23 UTC
verified with spacewalk-java-0.4.14-1.el5, spacewalk-schema-0.4.15-1.el5


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