summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Core.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2009-01-06 17:32:51 +0000
committerNarayan Desai <desai@mcs.anl.gov>2009-01-06 17:32:51 +0000
commitd887ad88674aef96f96ab0ff97c54617b8d715e7 (patch)
tree12b1da1a6b3943a2534c3dd7cbda342a79dfeb5e /src/lib/Server/Core.py
parenta9388f7859586d5d98e815efdcf8d6a85b973bef (diff)
downloadbcfg2-d887ad88674aef96f96ab0ff97c54617b8d715e7.tar.gz
bcfg2-d887ad88674aef96f96ab0ff97c54617b8d715e7.tar.bz2
bcfg2-d887ad88674aef96f96ab0ff97c54617b8d715e7.zip
Implement generic structure validators and reimplement Deps as one
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5005 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Core.py')
-rw-r--r--src/lib/Server/Core.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py
index d4f9b9f6e..4e014809b 100644
--- a/src/lib/Server/Core.py
+++ b/src/lib/Server/Core.py
@@ -194,10 +194,16 @@ class Core(object):
logger.error("error in GetStructures", exc_info=1)
return lxml.etree.Element("error", type='structure error')
- if 'Deps' in self.plugins:
- # do prereq processing
- prereqs = self.plugins['Deps'].GeneratePrereqs(structures, meta)
- structures.append(prereqs)
+ for plugin in self.plugins.values():
+ if isinstance(plugin, Bcfg2.Server.Plugin.StructureValidator):
+ try:
+ plugin.validate_structures(meta, structures)
+ except Bcfg2.Server.Plugin.ValidationError, err:
+ logger.error("Plugin %s structure validation failed: %s" \
+ % (plugin.name, err.message))
+ except:
+ logger.error("Plugin %s: unexpected structure val failure" \
+ % (plugin.name), exc_info=1)
# Perform altsrc consistency checking
esrcs = {}