Bug 1076241

Summary: when satellite-sync fails to download 4 packages due to 403 error, it pretends all the packages were downloaded
Product: Red Hat Satellite 5 Reporter: Jan Hutař <jhutar>
Component: ServerAssignee: Jan Dobes <jdobes>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 560CC: dyordano, mmello, tlestach
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-09 11:13:45 UTC Type: Bug
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: 924189    

Description Jan Hutař 2014-03-13 21:08:28 UTC
Description of problem:
When satellite-sync encounters "403 Forbidden" 4 times when downloading packages, it stops downloading rest of them and reports "all done". Also satellite-sync then exits with 0.


Version-Release number of selected component (if applicable):
spacewalk-backend-tools-2.0.3-22.el5sat


How reproducible:
sometimes


Steps to Reproduce:
1. Make Hosted return 403 error for random packages you are syncing
2. Point satellite-sync to the hosted and watch the progress


Actual results:
When downloading channel with 557 packages, last package it attempts to download is 331.

# satellite-sync -c rhn-tools-rhel-x86_64-server-5 --no-errata
19:06:27 Red Hat Satellite - live synchronization
19:06:27    url: https://satellite.rhn.redhat.com
[...]
19:10:14 Downloading rpm packages
19:10:14    Fetching any missing RPMs: rhn-tools-rhel-x86_64-server-5 (557)
19:10:15    Total size: 1.88 GiB
19:11:09 ERROR: http error code :403; fault code: 0; 
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1906, in run
    package_id, nvrea, self.sources)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1846, in _get_package_stream
    stream = rpmServer.getPackageStream(channel, nvrea)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 438, in getPackageStream
    return self._rpc_call("getPackage", (channel, package_name))
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 405, in _rpc_call
    ret = getattr(get_server_obj, function_name)(*params)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 683, in __call__
    result = self._send(self._name, args)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 390, in _request
    raise pe
ProtocolError: <ProtocolError for content-satellite.rhn.redhat.com /SAT/$RHN/rhn-tools-rhel-x86_64-server-5/getPackage/auto-kickstart-ks-redhat-advanced-server-i386-qu5-1.11-4.noarch.rpm: 403 Forbidden>

19:11:10       Downloaded 3.56 MiB of 1.88 GiB. Estimated remaining time: 8:13:12
19:11:10       1/557 Fetch successful: auto-kickstart-ks-redhat-advanced-server-i386-qu6-1.11-4.noarch.rpm (3737512 bytes)
[...]
19:18:31     226/557 Fetch successful: auto-kickstart-ks-rhel-i386-ws-4-1.13-4.el5.noarch.rpm (4529587 bytes)
19:19:21 ERROR: http error code :403; fault code: 0; 
Exception in thread Thread-4:
Traceback (most recent call last):
  File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1906, in run
    package_id, nvrea, self.sources)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1846, in _get_package_stream
    stream = rpmServer.getPackageStream(channel, nvrea)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 438, in getPackageStream
    return self._rpc_call("getPackage", (channel, package_name))
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 405, in _rpc_call
    ret = getattr(get_server_obj, function_name)(*params)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 683, in __call__
    result = self._send(self._name, args)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 390, in _request
    raise pe
ProtocolError: <ProtocolError for content-satellite.rhn.redhat.com /SAT/$RHN/rhn-tools-rhel-x86_64-server-5/getPackage/auto-kickstart-ks-rhel-i386-ws-4-u2-1.13-4.el5.noarch.rpm: 403 Forbidden>

19:19:49       Downloaded 964 MiB of 1.88 GiB. Estimated remaining time: 0:09:30
19:19:49     227/557 Fetch successful: auto-kickstart-ks-rhel-i386-ws-4-u4-1.13-4.el5.noarch.rpm (5099435 bytes)
[...]
19:21:29     295/557 Fetch successful: auto-kickstart-ks-rhel-x86_64-ws-3-u7-1.13-4.el5.noarch.rpm (4673992 bytes)
19:22:22 ERROR: http error code :403; fault code: 0; 
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1906, in run
    package_id, nvrea, self.sources)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1846, in _get_package_stream
    stream = rpmServer.getPackageStream(channel, nvrea)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 438, in getPackageStream
    return self._rpc_call("getPackage", (channel, package_name))
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 405, in _rpc_call
    ret = getattr(get_server_obj, function_name)(*params)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 683, in __call__
    result = self._send(self._name, args)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 390, in _request
    raise pe
ProtocolError: <ProtocolError for content-satellite.rhn.redhat.com /SAT/$RHN/rhn-tools-rhel-x86_64-server-5/getPackage/auto-kickstart-ks-rhel-x86_64-ws-3-u8-1.13-4.el5.noarch.rpm: 403 Forbidden>

19:22:24       Downloaded 1.35 GiB of 1.88 GiB. Estimated remaining time: 0:04:40
19:22:24     296/557 Fetch successful: auto-kickstart-ks-rhel-x86_64-ws-4-1.13-4.el5.noarch.rpm (5503708 bytes)
[...]
19:23:22     331/557 Fetch successful: auto-kickstart-ks-rhel-x86_64-es-3-u9-1.14-2.el4.noarch.rpm (4881361 bytes)
19:24:15 ERROR: http error code :403; fault code: 0; 
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1906, in run
    package_id, nvrea, self.sources)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/satsync.py", line 1846, in _get_package_stream
    stream = rpmServer.getPackageStream(channel, nvrea)
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 438, in getPackageStream
    return self._rpc_call("getPackage", (channel, package_name))
  File "/usr/lib/python2.4/site-packages/spacewalk/satellite_tools/xmlWireSource.py", line 405, in _rpc_call
    ret = getattr(get_server_obj, function_name)(*params)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 683, in __call__
    result = self._send(self._name, args)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 390, in _request
    raise pe
ProtocolError: <ProtocolError for content-satellite.rhn.redhat.com /SAT/$RHN/rhn-tools-rhel-x86_64-server-5/getPackage/auto-kickstart-ks-rhel-x86_64-ws-3-u9-1.14-2.el4.noarch.rpm: 403 Forbidden>

19:24:15 Processing rpm packages complete
[...]


Expected results:
Should download as many packages as possible.


Additional info:
Looks like re-sync fixes this.

Comment 3 Tomas Lestach 2018-04-09 11:13:45 UTC
We have re-reviewed this bug, as part of an ongoing effort to improve Satellite/Proxy feature and bug updates, review and backlog.

This is a low priority bug and has no currently open customer cases. While this bug may still valid, we do not see it being implemented prior to the EOL of the Satellite 5.x product. As such, this is being CLOSED DEFERRED. 

Closing now to help set customer expectations as early as possible. You are welcome to re-open this bug if needed.