From ad35217c090f089303d4bfd4cf0beb32de86a5ff Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Wed, 19 Jan 2005 03:47:01 +0000 Subject: add MetadataConsistencyError (Logical change 1.192) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@818 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Metadata.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/lib/Server/Metadata.py') 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]) -- cgit v1.2.3-1-g7c22