backend/satellite_tools/repo_plugins/yum_src.py | 6 +++++- backend/satellite_tools/reposync.py | 12 ++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-)
New commits: commit ba4affa469cc027f3ba324d5830033aaffe4a2bf Author: Michael Mraka michael.mraka@redhat.com Date: Thu May 31 19:38:59 2012 +0200
print reasonable error message when something wron with repo
fixing Traceback (most recent call last): File "/usr/bin/spacewalk-repo-sync", line 100, in <module> sys.exit(abs(main() or 0)) File "/usr/bin/spacewalk-repo-sync", line 93, in main sync.sync() File "/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/reposync.py", line 100, in sync self.import_packages(plugin, repo_id, url) File "/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/reposync.py", line 303, in import_packages packages = plug.list_packages(filters) File "/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/repo_plugins/ yum_src.py", line 151, in list_packages self.sack.populate(self.repo, 'metadata', None, 0) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 164, in populate if self._check_db_version(repo, mydbtype): File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 222, in _check_db _version return repo._check_db_version(mdtype) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1263, in _check_d b_version repoXML = self.repoXML File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1462, in <lambda> repoXML = property(fget=lambda self: self._getRepoXML(), File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1458, in _getRepo XML raise Errors.RepoError, msg
yum.Errors.RepoError: Cannot retrieve repository metadata (repomd.xml) for repository: centos6-x86_64. Please verify its path and try again
diff --git a/backend/satellite_tools/repo_plugins/yum_src.py b/backend/satellite_tools/repo_plugins/yum_src.py index 3028a7c..64f0c01 100644 --- a/backend/satellite_tools/repo_plugins/yum_src.py +++ b/backend/satellite_tools/repo_plugins/yum_src.py @@ -141,7 +141,11 @@ class ContentSource(object):
warnings = YumWarnings() warnings.disable() - repo.baseurlSetup() + try: + repo.baseurlSetup() + except: + warnings.restore() + raise warnings.restore() repo.setup(False) self.sack = self.repo.getPackageSack() diff --git a/backend/satellite_tools/reposync.py b/backend/satellite_tools/reposync.py index 8396c1a..be86415 100644 --- a/backend/satellite_tools/reposync.py +++ b/backend/satellite_tools/reposync.py @@ -96,9 +96,14 @@ class RepoSync(object): """Trigger a reposync""" start_time = datetime.now() for (repo_id, url) in self.urls: - plugin = self.repo_plugin(url, self.channel_label) - self.import_packages(plugin, repo_id, url) - self.import_updates(plugin, url) + self.print_msg("Repo URL: %s" % url) + try: + plugin = self.repo_plugin(url, self.channel_label) + self.import_packages(plugin, repo_id, url) + self.import_updates(plugin, url) + except Exception, e: + self.error_msg("ERROR: %s" % e.value) + continue if self.regen: taskomatic.add_to_repodata_queue_for_channel_package_subscription( [self.channel_label], [], "server.app.yumreposync") @@ -305,7 +310,6 @@ class RepoSync(object): packages = plug.list_packages(filters) to_process = [] num_passed = len(packages) - self.print_msg("Repo URL: %s" % url) self.print_msg("Packages in repo: %5d" % plug.num_packages) if plug.num_excluded: self.print_msg("Packages passed filter rules: %5d" % num_passed)
spacewalk-commits@lists.fedorahosted.org