Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
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:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 524826 (view as bug list)
Environment:
Last Closed: 2009-01-22 16:29:44 UTC


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.