Description of problem: After recent rewrite of spacewalk-clone-by-date tool fails during 1st cloning channel of certain architecture when there is the same channel but the different architecture already cloned. Subsequent clonings as different channels are without any tracebacks. spacewalk-clone-by-date tool fails with traceback ProtocolError 503 Service Temporarily Unavailable when cloning base channel or 500 Internal Server Error when cloning child channel. Version-Release number of selected component (if applicable): spacewalk-java-2.0.2-63.el5sat spacewalk-utils-2.0.2-13.el5sat How reproducible: deterministic Steps to Reproduce: 1.sync a channel # satellite-sync -c rhel-x86_64-server-6 2.clone that channel # spacewalk-clone-by-date -d 2014-02-20 -l rhel-x86_64-server-6 clone-rhel-x86_64-server-6 3.sync the same channel of different arch # satellite-sync -c rhel-i386-server-6 4.clone the latter channel # spacewalk-clone-by-date -d 2014-02-20 -l rhel-i386-server-6 clone-rhel-i386-server-6 Reading repository information. By continuing the following channels will be created: clone-rhel-i386-server-6 Cloning rhel-i386-server-6 to clone-rhel-i386-server-6 with original package set. Copying repodata, please wait. Solving Dependencies (3673): ________________________________________ ######################################## - complete Processing Dependencies: ________________________________________ ######################################## - complete Using issue_date By continuing the following will be cloned: rhel-i386-server-6 -> clone-rhel-i386-server-6 (1855/1855 Errata) Cloning Errata into clone-rhel-i386-server-6 (1855): ________________________________________ ######################################## - complete Traceback (most recent call last): File "/usr/bin/spacewalk-clone-by-date", line 253, in ? sys.exit(abs(main() or 0)) File "/usr/bin/spacewalk-clone-by-date", line 243, in main return cloneByDate.main(args) File "/usr/share/rhn/utils/cloneByDate.py", line 192, in main cloner.clone(options.skip_depsolve) File "/usr/share/rhn/utils/cloneByDate.py", line 352, in clone cloner.process() File "/usr/share/rhn/utils/cloneByDate.py", line 484, in process self.clone() File "/usr/share/rhn/utils/cloneByDate.py", line 558, in clone self.remote_api.sync_errata(self.to_label) File "/usr/share/rhn/utils/cloneByDate.py", line 689, in sync_errata self.client.channel.software.syncErrata(self.auth_token, to_label) File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__ return self.__send(self.__name, args) File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request verbose=self.__verbose File "/usr/lib64/python2.4/xmlrpclib.py", line 1137, in request headers xmlrpclib.ProtocolError: <ProtocolError for localhost/rpc/api: 503 Service Temporarily Unavailable> Actual results: prematurely fails with traceback, Expected results: succesfully finishes
When the reproducer is performed using child channels instead the traceback is a bit different: # spacewalk-clone-by-date -d 2014-02-20 -l rhn-tools-rhel-i386-server-6 clone-rhn-tools-rhel-i386-server-6 -a rhel-i386-server-6 clone-rhel-i386-server-6 Reading repository information. By continuing the following channels will be created: clone-rhn-tools-rhel-i386-server-6 Cloning rhn-tools-rhel-i386-server-6 to clone-rhn-tools-rhel-i386-server-6 with original package set. Copying repodata, please wait. Solving Dependencies (0): ________________________________________ ######################################## - complete Processing Dependencies: ________________________________________ ######################################## - complete Using issue_date By continuing the following will be cloned: rhn-tools-rhel-i386-server-6 -> clone-rhn-tools-rhel-i386-server-6 (28/28 Errata) Cloning Errata into clone-rhn-tools-rhel-i386-server-6 (28): ________________________________________ Traceback (most recent call last): File "/usr/bin/spacewalk-clone-by-date", line 253, in ? sys.exit(abs(main() or 0)) File "/usr/bin/spacewalk-clone-by-date", line 243, in main return cloneByDate.main(args) File "/usr/share/rhn/utils/cloneByDate.py", line 192, in main cloner.clone(options.skip_depsolve) File "/usr/share/rhn/utils/cloneByDate.py", line 352, in clone cloner.process() File "/usr/share/rhn/utils/cloneByDate.py", line 484, in process self.clone() File "/usr/share/rhn/utils/cloneByDate.py", line 547, in clone self.remote_api.clone_errata(self.to_label, errata_set) File "/usr/share/rhn/utils/cloneByDate.py", line 681, in clone_errata self.client.errata.cloneAsOriginal(self.auth_token, to_label, errata_list) File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__ return self.__send(self.__name, args) File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request verbose=self.__verbose File "/usr/lib64/python2.4/xmlrpclib.py", line 1137, in request headers xmlrpclib.ProtocolError: <ProtocolError for localhost/rpc/api: 500 Internal Server Error>
We have re-reviewed this bug, as part of an ongoing effort to improve Satellite/Proxy feature and bug updates, review and backlog. We believe this bug has been fixed in the latest Satellite 5 version (5.7), so closing the bug as CURRENTRELEASE. Please feel free to re-open in case you discover any issues. Ashish, Xixi and Tomas