summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Core.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2009-01-15 03:11:16 +0000
committerNarayan Desai <desai@mcs.anl.gov>2009-01-15 03:11:16 +0000
commitda1065ef071514f97d6bfbe104bd1040503da4aa (patch)
treeb148ce4c4facc7e6dcfd4f8ef961b33f94e30df2 /src/lib/Server/Core.py
parent6b0fd34ab8c5e4f76835eb5d59a57ec3337cbeb0 (diff)
downloadbcfg2-da1065ef071514f97d6bfbe104bd1040503da4aa.tar.gz
bcfg2-da1065ef071514f97d6bfbe104bd1040503da4aa.tar.bz2
bcfg2-da1065ef071514f97d6bfbe104bd1040503da4aa.zip
add GBundler plugin (like SGenshi, but works like Bundler)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5025 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 a99af4aa9..74839c25e 100644
--- a/src/lib/Server/Core.py
+++ b/src/lib/Server/Core.py
@@ -1,5 +1,5 @@
'''Bcfg2.Server.Core provides the runtime support for bcfg2 modules'''
-__revision__ = '$Revision: 5014 $'
+__revision__ = '$Revision$'
from ConfigParser import ConfigParser, NoSectionError, NoOptionError
c = ConfigParser()
@@ -117,9 +117,15 @@ class Core(object):
def GetStructures(self, metadata):
'''Get all structures for client specified by metadata'''
- return reduce(lambda x, y:x+y,
- [struct.BuildStructures(metadata) for struct \
- in self.structures], [])
+ structures = reduce(lambda x, y:x+y,
+ [struct.BuildStructures(metadata) for struct \
+ in self.structures], [])
+ sbundles = [b.get('name') for b in structures if b.tag == 'Bundle']
+ missing = [b for b in metadata.bundles if b not in sbundles]
+ if missing:
+ logger.error("Client %s configuration missing bundles: %s" \
+ % (metadata.hostname, ':'.join(missing)))
+ return structures
def BindStructure(self, structure, metadata):
'''Bind a complete structure'''