summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2012-05-15 08:50:45 -0500
committerSol Jerome <sol.jerome@gmail.com>2012-05-15 08:51:49 -0500
commit3c6f694ff2c062d242c92889af94cac1b0a60a92 (patch)
tree0381b76c36391d771267a3efd79f7bd1dcf7f508
parent00ee09dcea30e0afa6d22331d6e2eff624f928d3 (diff)
downloadbcfg2-3c6f694ff2c062d242c92889af94cac1b0a60a92.tar.gz
bcfg2-3c6f694ff2c062d242c92889af94cac1b0a60a92.tar.bz2
bcfg2-3c6f694ff2c062d242c92889af94cac1b0a60a92.zip
Packages: Fix URLError handling (Reported by dikim33 on IRC)
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
-rw-r--r--src/lib/Bcfg2Py3k.py2
-rw-r--r--src/lib/Server/Plugins/Packages/Yum.py7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/Bcfg2Py3k.py b/src/lib/Bcfg2Py3k.py
index ee05b7e41..5d32c79a0 100644
--- a/src/lib/Bcfg2Py3k.py
+++ b/src/lib/Bcfg2Py3k.py
@@ -14,6 +14,7 @@ try:
from urllib2 import install_opener
from urllib2 import urlopen
from urllib2 import HTTPError
+ from urllib2 import URLError
except ImportError:
from urllib.parse import urljoin, urlparse
from urllib.request import HTTPBasicAuthHandler
@@ -22,6 +23,7 @@ except ImportError:
from urllib.request import install_opener
from urllib.request import urlopen
from urllib.error import HTTPError
+ from urllib.error import URLError
try:
from cStringIO import StringIO
diff --git a/src/lib/Server/Plugins/Packages/Yum.py b/src/lib/Server/Plugins/Packages/Yum.py
index 9ce462c78..d1e97f5b1 100644
--- a/src/lib/Server/Plugins/Packages/Yum.py
+++ b/src/lib/Server/Plugins/Packages/Yum.py
@@ -11,7 +11,7 @@ import lxml.etree
from UserDict import DictMixin
from subprocess import Popen, PIPE, STDOUT
import Bcfg2.Server.Plugin
-from Bcfg2.Bcfg2Py3k import StringIO, cPickle, HTTPError, ConfigParser, file
+from Bcfg2.Bcfg2Py3k import StringIO, cPickle, HTTPError, URLError, ConfigParser, file
from Bcfg2.Server.Plugins.Packages.Collection import Collection
from Bcfg2.Server.Plugins.Packages.Source import SourceInitError, Source, \
fetch_url
@@ -564,6 +564,11 @@ class YumSource(Source):
except ValueError:
self.logger.error("Packages: Bad url string %s" % rmdurl)
return []
+ except URLError:
+ err = sys.exc_info()[1]
+ self.logger.error("Packages: Failed to fetch url %s. %s" %
+ (rmdurl, err))
+ return []
except HTTPError:
err = sys.exc_info()[1]
self.logger.error("Packages: Failed to fetch url %s. code=%s" %