Bug 440439

Summary: pushing large rpms(2G) fails on a 32-bit satellite
Product: Red Hat Satellite 5 Reporter: Pradeep Kilambi <pkilambi>
Component: OtherAssignee: Michael Mráka <mmraka>
Status: CLOSED CURRENTRELEASE QA Contact: Milan Zázrivec <mzazrivec>
Severity: low Docs Contact:
Priority: low    
Version: 520CC: cperry, jhutar, jpazdziora, msuchy, sandro, taw
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: Fixed in the 5.4.0 Release - GA'd 2010-10-27
Fixed In Version: spacewalk-backend-1.1.48-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-28 15:01:33 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: 608771    

Description Pradeep Kilambi 2008-04-03 15:31:15 UTC
Description of problem:
rhnpush fails to upload large packages to satellite server with traceback..

Exception Handler Information
Traceback (most recent call last):
  File "/usr/share/rhn/server/apacheUploadServer.py", line 97, in _wrapper
    ret = function(req)
  File "/usr/share/rhn/upload_server/handlers/package_push/package_push.py",
line 103, in handler
    temp_stream = rhnPackageUpload.write_temp_file(req, 16384)
  File "/usr/share/rhn/server/rhnPackageUpload.py", line 104, in write_temp_file
    shutil.copyfileobj(req,t)
  File "/usr/lib/python2.3/shutil.py", line 21, in copyfileobj
    buf = fsrc.read(length)
SERVER_RETURN: 400

Version-Release number of selected component (if applicable):
All satellite versions

How reproducible:
always

Actual results:
ISE

Expected results:
push success

Comment 1 Jan Pazdziora (Red Hat) 2008-04-09 13:46:12 UTC
I believe, if you dig around the error_log, you will find line similar to the
following:

[Mon Mar 31 11:08:32 2008] [error] [client 10.10.76.168] Invalid Content-Length

That seems to be the primary cause of the problem, at least as far as I could
tell from investigating the 32bit setup Sayli K. did.

Comment 5 Miroslav Suchý 2009-06-01 11:34:14 UTC
I'm adding myself to cc of this bug.
We should have to try to push the big rpm to proxy custom channel too. The solution will be likely the same.

Comment 6 Michael Mráka 2010-07-12 14:09:47 UTC
Here is a test plan we used for 64bit satellite:

The results of investigation with Satellite 5.2.0:

Downloading 2+GB file from /pub:			[PASS]
Creating 2+GB rpm on RHEL 4 and RHEL 5:			[FAIL]
	433795: When building rpm bigger than 2G, rpmbuild fails with
		segmentation fault
	The rpm/rpmbuild maintainer says 2+GB rpms are not supported.
	Even on Fedora 8 the rpm -qi shows negative size so indeed,
	the toolchain is not 2+GB ready even on latest RHELs and
	Fedoras.
Creating 2+GB rpm on Fedora 8:				[PASS]
Pushing 2+GB rpm to Satellite using rhnpush:		[PASS]
Installing 2+GB rpm on RHEL 4 via up2date:		[FAIL]
	434168: exceptions.OverflowError when up2date'ing rpm bigger
		than 2GB
	The file gets downloaded to the client alright, so Satellite
	handles the file just fine. It's a client tool problem.
Installing 2+GB rpm on RHEL 5 via yum:			[PASS]


So for this bugzilla we have to check (both server and client running RHEL5.i386):
Downloading 2+GB file from /pub 
Pushing 2+GB rpm to Satellite using rhnpush
Installing 2+GB rpm on RHEL 5 via yum

Comment 7 Michael Mráka 2010-07-14 14:45:22 UTC
This already works on Spacewalk 1.1 nightly on RHEL5.5 i386 vs. RHEL5.5 i386 client:

 (huge-rpm-1.0-20100712.135331.noarch.rpm created on Fedora 12 box.)


Downloading 2+GB file from /pub                     [PASS]

# wget https://xen96.englab.brq.redhat.com/pub/huge-rpm-1.0-20100712.135331.noarch.rpm
--2010-07-13 16:34:47--  https://xen96.englab.brq.redhat.com/pub/huge-rpm-1.0-20100712.135331.noarch.rpm
Resolving xen96.englab.brq.redhat.com... 10.34.34.96
Connecting to xen96.englab.brq.redhat.com|10.34.34.96|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2622241686 (2.4G) [application/x-rpm]
Saving to: `huge-rpm-1.0-20100712.135331.noarch.rpm'
100%[============================================>] 2,622,241,686 11.1M/s   in 4m 34s  
2010-07-13 16:39:21 (9.11 MB/s) - `huge-rpm-1.0-20100712.135331.noarch.rpm' saved [2622241686/2622241686]


Pushing 2+GB rpm to Satellite using rhnpush [PASS]

# rhnpush -vv --server http://localhost/APP huge-rpm-1.0-20100712.135331.noarch.rpm --nosig
Connecting to http://localhost/APP
url is http://localhost/PACKAGE-PUSH
Result codes: 200 OK
Computing checksum and package info. This may take some time ...
Package huge-rpm-1.0-20100712.135331.noarch.rpm Not Found on RHN Server -- Uploading
Uploading package huge-rpm-1.0-20100712.135331.noarch.rpm
Using POST request


Installing 2+GB rpm on RHEL 5 via yum          [PASS]

# yum repolist
Loaded plugins: rhnplugin, security
repo id                repo name                                          status
hugerpm                 hugerpm                                             enabled:     1
repolist: 1
# yum install huge-rpm
Loaded plugins: rhnplugin, security
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package huge-rpm.noarch 0:1.0-20100712.135331 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================
 Package           Arch            Version                        Repository       Size
========================================================================================
Installing:
 huge-rpm          noarch          1.0-20100712.135331            hugerpm          2.0 G

Transaction Summary
========================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 2.0 G
Downloading Packages:
huge-rpm-1.0-20100712.135331.noarch.rpm                          | 2.4 GB     05:39     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : huge-rpm                                                         1/1 

Installed:
  huge-rpm.noarch 0:1.0-20100712.135331                                                 

Complete!

Comment 12 Milan Zázrivec 2010-10-11 11:17:37 UTC
Verified w/ spacewalk-backend-1.2.13-10

Comment 13 Clifford Perry 2010-10-28 15:01:33 UTC
The 5.4.0 RHN Satellite and RHN Proxy release has occurred. This issue has been resolved with this release. 


RHEA-2010:0801 - RHN Satellite Server 5.4.0 Upgrade
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10332

RHEA-2010:0803 - RHN Tools enhancement update
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10333

RHEA-2010:0802 - RHN Proxy Server 5.4.0 bug fix update
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10334

RHEA-2010:0800 - RHN Satellite Server 5.4.0
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10335

Docs are available:

http://docs.redhat.com/docs/en-US/Red_Hat_Network_Satellite/index.html 

Regards,
Clifford