summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2015-05-11 11:30:32 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2015-05-11 11:30:32 -0500
commit66d89ff62677c20139ea1973e547eea8e117a714 (patch)
treeea23668932ad3592197e6c7dae77c974b2f2b58a
parentab630238a5a8634777c49c121e5e299c06abf481 (diff)
downloadbcfg2-66d89ff62677c20139ea1973e547eea8e117a714.tar.gz
bcfg2-66d89ff62677c20139ea1973e547eea8e117a714.tar.bz2
bcfg2-66d89ff62677c20139ea1973e547eea8e117a714.zip
Bundler: Catch all exceptions in BuildStructures
This fixes a regression in 89e7afbf74ffb that made an unexpected failure in a bundle (e.g., an arbitrary exception raised by a templated bundle) prevent all subsequent bundles from being built, too. Restoring the blanket 'except' makes it so that an unexpected failure only affects the specific bundle that fails.
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Bundler.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Bundler.py b/src/lib/Bcfg2/Server/Plugins/Bundler.py
index e38eeea89..6c35ada59 100644
--- a/src/lib/Bcfg2/Server/Plugins/Bundler.py
+++ b/src/lib/Bcfg2/Server/Plugins/Bundler.py
@@ -92,6 +92,10 @@ class Bundler(Plugin,
self.logger.error("Bundler: Failed to render templated bundle "
"%s: %s" % (bundlename, err))
continue
+ except:
+ self.logger.error("Bundler: Unexpected bundler error for %s" %
+ bundlename, exc_info=1)
+ continue
if data.get("independent", "false").lower() == "true":
data.tag = "Independent"