diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-10-16 10:01:09 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-10-16 10:01:09 -0400 |
commit | a1c4d6ac73a5240ba308deffe8c2eb706af90ccd (patch) | |
tree | 558fa265e2857ca9e1c3922cb591647ed05f7ac5 /src/lib | |
parent | dd196ce73618390736bd9df9ab41e97996ee7e9b (diff) | |
download | bcfg2-a1c4d6ac73a5240ba308deffe8c2eb706af90ccd.tar.gz bcfg2-a1c4d6ac73a5240ba308deffe8c2eb706af90ccd.tar.bz2 bcfg2-a1c4d6ac73a5240ba308deffe8c2eb706af90ccd.zip |
Packages: better error handling for GPG key downloading
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/__init__.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py index f0ddaacbe..f1ffb1d67 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py @@ -440,9 +440,21 @@ class Packages(Bcfg2.Server.Plugin.Plugin, not os.path.exists(localfile)): self.logger.info("Packages: Downloading and parsing %s" % key) - response = urlopen(key) - open(localfile, 'w').write(response.read()) - keys.append(key) + try: + open(localfile, 'w').write(urlopen(key).read()) + keys.append(key) + except HTTPError: + err = sys.exc_info()[1] + self.logger.error("Packages: Error downloading %s: %s" + % (key, err)) + except IOError: + err = sys.exc_info()[1] + self.logger.error("Packages: Error writing %s to %s: " + "%s" % (key, localfile, err)) + except: + err = sys.exc_info()[1] + self.logger.error("Packages: Unknown error fetching " + "%s: %s" % (key, err)) for kfile in glob.glob(os.path.join(self.keypath, "*")): if kfile not in keyfiles: |