summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTim Laszlo <tim.laszlo@gmail.com>2010-07-08 18:34:26 +0000
committerSol Jerome <sol.jerome@gmail.com>2010-07-08 23:26:49 -0500
commit4f3e0f661d64308bd75dbde8595b68e764e90395 (patch)
treee5e3488f2d6b788a33c2c04068197eaefe12bae3 /src
parent806c613f255b54d2c580b303361a7934d0324f08 (diff)
downloadbcfg2-4f3e0f661d64308bd75dbde8595b68e764e90395.tar.gz
bcfg2-4f3e0f661d64308bd75dbde8595b68e764e90395.tar.bz2
bcfg2-4f3e0f661d64308bd75dbde8595b68e764e90395.zip
YUMng: Add basic Yum error handling on load
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5965 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/lib/Client/Tools/YUMng.py16
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