From 9fba07d3f602914fd8710f9279110de3cf6b71c4 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Wed, 13 Dec 2006 19:26:06 +0000 Subject: Fix TCheetah when properties file doesn't exist (Resolves Ticket #335) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2592 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Plugins/TCheetah.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/lib/Server/Plugins/TCheetah.py') diff --git a/src/lib/Server/Plugins/TCheetah.py b/src/lib/Server/Plugins/TCheetah.py index fe2640ddc..c6a603107 100644 --- a/src/lib/Server/Plugins/TCheetah.py +++ b/src/lib/Server/Plugins/TCheetah.py @@ -64,6 +64,11 @@ class CheetahProperties(Bcfg2.Server.Plugin.SingleXMLFileBacked): except lxml.etree.XMLSyntaxError: logger.error("Failed to parse properties") +class FakeProperties: + '''Dummy class used when properties dont exist''' + def __init__(self): + self.properties = lxml.etree.Element("Properties") + class TCheetah(Bcfg2.Server.Plugin.Plugin): '''The TCheetah generator implements a templating mechanism for configuration files''' __name__ = 'TCheetah' @@ -78,7 +83,12 @@ class TCheetah(Bcfg2.Server.Plugin.Plugin): self.entries = {} self.handles = {} self.AddDirectoryMonitor('') - self.properties = CheetahProperties('%s/../etc/properties.xml' % self.data, self.core.fam) + try: + self.properties = CheetahProperties('%s/../etc/properties.xml' \ + % (self.data), self.core.fam) + except: + self.properties = FakeProperties() + self.logger.info("Failed to read properties file; TCheetah properties disabled") def BuildEntry(self, entry, metadata): '''Dispatch fetch calls to the correct object''' -- cgit v1.2.3-1-g7c22