diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Client/Tools/YUMng.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/lib/Client/Tools/YUMng.py b/src/lib/Client/Tools/YUMng.py index b3043351f..2a441b01c 100644 --- a/src/lib/Client/Tools/YUMng.py +++ b/src/lib/Client/Tools/YUMng.py @@ -6,8 +6,10 @@ import copy import os.path import sys import yum +import yum.Errors import yum.misc import Bcfg2.Client.XML +import Bcfg2.Client.Tools import Bcfg2.Client.Tools.RPMng # Fix for python2.3 @@ -85,9 +87,17 @@ class YUMng(Bcfg2.Client.Tools.RPMng.RPMng): self.yum_avail = dict() self.yum_installed = dict() self.yb = yum.YumBase() - self.yb.doConfigSetup() - self.yb.doTsSetup() - self.yb.doRpmDBSetup() + try: + self.yb.doConfigSetup() + self.yb.doTsSetup() + self.yb.doRpmDBSetup() + except yum.Errors.RepoError, e: + self.logger.error("YUMng Repository error: %s" % e) + raise Bcfg2.Client.Tools.toolInstantiationError + except yum.Errors.YumBaseError, e: + self.logger.error("YUMng error: %s" % e) + raise Bcfg2.Client.Tools.toolInstantiationError + yup = self.yb.doPackageLists(pkgnarrow='updates') if hasattr(self.yb.rpmdb, 'pkglist'): yinst = self.yb.rpmdb.pkglist |