diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2005-01-19 03:47:01 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2005-01-19 03:47:01 +0000 |
commit | ad35217c090f089303d4bfd4cf0beb32de86a5ff (patch) | |
tree | f8ea4bf98aa57c1f545102510014533d7061df23 /src/lib/Server/Metadata.py | |
parent | 63fd12b57031fda6b13e10197f14e3a045374df3 (diff) | |
download | bcfg2-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.py | 8 |
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]) |