summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2006-12-11 03:44:27 +0000
committerNarayan Desai <desai@mcs.anl.gov>2006-12-11 03:44:27 +0000
commit655fa3199a7f744392c8aee9811bf2f20eac545e (patch)
tree19d37c9384af50484ec9902ad9d99baec5984087
parent7a7baf22994d8c7e007adbdb6d59ca8eafb38bf3 (diff)
downloadbcfg2-655fa3199a7f744392c8aee9811bf2f20eac545e.tar.gz
bcfg2-655fa3199a7f744392c8aee9811bf2f20eac545e.tar.bz2
bcfg2-655fa3199a7f744392c8aee9811bf2f20eac545e.zip
Add backup configuration entry binding mechanism for entry pattern handling (needed for blanket ssh key handling in SSHbase)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2578 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r--src/lib/Server/Core.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py
index 448471781..4c619b7a9 100644
--- a/src/lib/Server/Core.py
+++ b/src/lib/Server/Core.py
@@ -278,8 +278,11 @@ class Core(object):
return glist[0].Entries[entry.tag][entry.get('name')](entry, metadata)
elif len(glist) > 1:
generators = ", ".join([gen.__name__ for gen in glist])
- logger.error("%s %s served by multiple generators: %s" % (entry.tag,
- entry.get('name'), generators))
+ logger.error("%s %s served by multiple generators: %s" % \
+ (entry.tag, entry.get('name'), generators))
+ g2list = [gen for gen in self.generators if gen.HandlesEntry(entry)]
+ if len(g2list) == 1:
+ return g2list[0].HandleEntry(entry, metadata)
raise PluginExecutionError, (entry.tag, entry.get('name'))
def BuildConfiguration(self, client):