summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2014-12-09 11:10:24 -0600
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2015-02-18 08:24:24 -0600
commit89e7afbf74ffbbb54dd892bf2c4245aedee2a832 (patch)
treeed4623b5c6e39d80c132e9f21f3d4804cabd93be /src/lib/Bcfg2/Server/Plugins/Packages
parent64b458b380620f84843b1841b441745a0984946f (diff)
downloadbcfg2-89e7afbf74ffbbb54dd892bf2c4245aedee2a832.tar.gz
bcfg2-89e7afbf74ffbbb54dd892bf2c4245aedee2a832.tar.bz2
bcfg2-89e7afbf74ffbbb54dd892bf2c4245aedee2a832.zip
Remove blanket excepts from plugins and lint
This removes most blanket except: clauses from all plugins, including the base plugin libraries, and bcfg2-lint. The few that remain should all be necessary. Most of the changes were quite minor, but this did require some restructuring of the CfgPrivateKeyCreator; as a result, the tests for that module were rewritten.
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Apt.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Pac.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Source.py18
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Yum.py8
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/__init__.py4
7 files changed, 19 insertions, 21 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py b/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py
index cfabd8457..7de79e2f3 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py
@@ -89,7 +89,7 @@ class AptSource(Source):
bprov[barch] = dict()
try:
reader = gzip.GzipFile(fname)
- except:
+ except IOError:
self.logger.error("Packages: Failed to read file %s" % fname)
raise
for line in reader.readlines():
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py b/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py
index 5f4d2ea41..0e15d2e15 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py
@@ -67,7 +67,7 @@ class PacSource(Source):
try:
self.debug_log("Packages: try to read %s" % fname)
tar = tarfile.open(fname, "r")
- except:
+ except (IOError, tarfile.TarError):
self.logger.error("Packages: Failed to read file %s" % fname)
raise
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py b/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py
index e393cabfe..736cdcdd4 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py
@@ -71,7 +71,7 @@ class PkgngSource(Source):
try:
tar = tarfile.open(fileobj=lzma.LZMAFile(fname))
reader = tar.extractfile('packagesite.yaml')
- except:
+ except (IOError, tarfile.TarError):
self.logger.error("Packages: Failed to read file %s" % fname)
raise
for line in reader.readlines():
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py
index 67ada2399..c9f6ea14a 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py
@@ -331,10 +331,11 @@ class Source(Debuggable): # pylint: disable=R0902
@track_statistics()
def setup_data(self, force_update=False):
- """ Perform all data fetching and setup tasks. For most
- backends, this involves downloading all metadata from the
- repository, parsing it, and caching the parsed data locally.
- The order of operations is:
+ """Perform all data fetching and setup tasks.
+
+ For most backends, this involves downloading all metadata from
+ the repository, parsing it, and caching the parsed data
+ locally. The order of operations is:
#. Call :func:`load_state` to try to load data from the local
cache.
@@ -352,6 +353,15 @@ class Source(Debuggable): # pylint: disable=R0902
upstream repository.
:type force_update: bool
"""
+ # there are a bunch of wildcard except statements here,
+ # because the various functions called herein (``load_state``,
+ # ``read_files``, ``update``) are defined entirely by the
+ # Packages plugins that implement them.
+ #
+ # TODO: we should define an exception subclass that each of
+ # these functions can raise when an *expected* error condition
+ # is encountered.
+ #
# pylint: disable=W0702
if not force_update:
if os.path.exists(self.cachefile):
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
index b6e9f13eb..dbe3f9ce5 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
@@ -631,10 +631,6 @@ class YumCollection(Collection):
err = sys.exc_info()[1]
self.logger.error("Packages: Could not contact Pulp server: %s" %
err)
- except:
- err = sys.exc_info()[1]
- self.logger.error("Packages: Unknown error querying Pulp server: "
- "%s" % err)
return consumer
@track_statistics()
@@ -1034,10 +1030,6 @@ class YumSource(Source):
err = sys.exc_info()[1]
raise SourceInitError("Could not contact Pulp server: %s" %
err)
- except:
- err = sys.exc_info()[1]
- raise SourceInitError("Unknown error querying Pulp server: %s"
- % err)
self.rawurl = "%s/%s" % (PULPCONFIG.cds['baseurl'],
self.repo['relative_path'])
self.arches = [self.repo['arch']]
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py b/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py
index f26d6ba18..b2e43bde7 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py
@@ -285,8 +285,8 @@ class HelperSubcommand(Bcfg2.Options.Subcommand):
def run(self, setup):
try:
data = json.loads(sys.stdin.read())
- except: # pylint: disable=W0702
- self.logger.error("Unexpected error decoding JSON input: %s" %
+ except ValueError:
+ self.logger.error("Error decoding JSON input: %s" %
sys.exc_info()[1])
print(json.dumps(self.fallback))
return 2
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
index 87d42fd1c..3aa5c415f 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
@@ -515,10 +515,6 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
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: