Description of problem: Channel exporter tooling when tries to handle repository with missing repodata produces a traceback. The tooling needs to handle missing repodata gracefully. Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: # spacewalk-export INFO: Processing channels... Processing organization: ClusterStorageQE Processing organization: GSS ... * channel: epel_rhel6_x86-64 with: 8614 packages Traceback (most recent call last): File "/usr/bin/spacewalk-export-channels", line 297, in <module> export_packages(options) File "/usr/bin/spacewalk-export-channels", line 120, in export_packages repo_packages[repo['id']] = list_repo_packages(repo['label'], repo['source_url']) File "/usr/bin/spacewalk-export-channels", line 236, in list_repo_packages packages = map(lambda p:p.getNEVRA(), plugin.list_packages(repo_plugin, [])) File "/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/repo_plugins/yum_src.py", line 159, in list_packages self.sack.populate(self.repo, 'metadata', None, 0) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 165, in populate if self._check_db_version(repo, mydbtype): File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 223, in _check_db_version return repo._check_db_version(mdtype) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1256, in _check_db_version repoXML = self.repoXML File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1455, in <lambda> repoXML = property(fget=lambda self: self._getRepoXML(), File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1451, in _getRepoXML raise Errors.RepoError, msg yum.Errors.RepoError: Cannot retrieve repository metadata (repomd.xml) for repository: epel_repo_rhel6_x86-64. Please verify its path and try again INFO: Processing system-groups... INFO: Processing activation-keys... INFO: Processing repositories... INFO: Processing users... INFO: Export-file created at /root/spacewalk-export-dir/spacewalk_export.tar.gz Actual results: traceback Expected results: warning about missing repodata and proceeding with what it can Additional info: repo['label'] = 'epel_repo_rhel6_x86-64' repo['source_url'] = 'http://mirrors.servercentral.net/fedora/epel/6/x86_64/' - 404 Not Found
Since this issue was entered in Red Hat Bugzilla, the release flag has been set to ? to ensure that it is properly evaluated for this release.
spacewalk.git: b34c64a08f95c6ba48131bb57c43d08ea078308f Fixed in upstream spacewalk-utils-2.2.20-1
VERIFIED. spacewalk-utils-2.0.2-15.el6sat 1. @SAT5: create repo with non-existent url 2. export repositories: # spacewalk-export --entities=repositories INFO: Processing repositories... INFO: Export-file created at /root/spacewalk-export-dir/spacewalk_export.tar.gz
This was delivered with Satellite 6.0 which was released on 10 September 2014.