backend/satellite_tools

Michael Mraka mmraka at fedoraproject.org
Fri Jun 1 06:16:33 UTC 2012


 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 at 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)




More information about the spacewalk-commits mailing list