summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Metadata.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2005-01-19 03:47:01 +0000
committerNarayan Desai <desai@mcs.anl.gov>2005-01-19 03:47:01 +0000
commitad35217c090f089303d4bfd4cf0beb32de86a5ff (patch)
treef8ea4bf98aa57c1f545102510014533d7061df23 /src/lib/Server/Metadata.py
parent63fd12b57031fda6b13e10197f14e3a045374df3 (diff)
downloadbcfg2-ad35217c090f089303d4bfd4cf0beb32de86a5ff.tar.gz
bcfg2-ad35217c090f089303d4bfd4cf0beb32de86a5ff.tar.bz2
bcfg2-ad35217c090f089303d4bfd4cf0beb32de86a5ff.zip
add MetadataConsistencyError
(Logical change 1.192) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@818 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Metadata.py')
-rw-r--r--src/lib/Server/Metadata.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/Server/Metadata.py b/src/lib/Server/Metadata.py
index 0d6a6c082..8c390db39 100644
--- a/src/lib/Server/Metadata.py
+++ b/src/lib/Server/Metadata.py
@@ -4,7 +4,10 @@ __revision__ = '$Revision$'
from elementtree.ElementTree import XML, SubElement, Element
from Bcfg2.Server.Generator import SingleXMLFileBacked
-
+
+class MetadataConsistencyError(Exception):
+ pass
+
class Metadata(object):
'''The Metadata class is a container for all classes of metadata used by Bcfg2'''
def __init__(self, all, image, classes, bundles, attributes, hostname, toolset):
@@ -89,6 +92,9 @@ class MetadataStore(SingleXMLFileBacked):
(image, profile) = (self.defaults['image'], self.defaults['profile'])
SubElement(self.element, "Client", name=client, profile=profile, image=image)
self.WriteBack()
+ if not self.profiles.has_key(profile):
+ syslog(LOG_ERR, "Metadata: profile %s not defined" % profile)
+ raise MetadataConsistencyError
prof = self.profiles[profile]
# should we uniq here? V
bundles = reduce(lambda x, y:x + y, [self.classes.get(cls) for cls in prof.classes])