summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-10-19 18:22:16 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-10-19 18:22:16 +0000
commitab37c6ac438cbfdfe049c3dc40842438394f19a5 (patch)
tree9634798b5fd9efc3e8fa0570a592fd8a964027ac
parent020b4e9d2fe258d73b22f5f3c93a9675393e8628 (diff)
downloadbcfg2-ab37c6ac438cbfdfe049c3dc40842438394f19a5.tar.gz
bcfg2-ab37c6ac438cbfdfe049c3dc40842438394f19a5.tar.bz2
bcfg2-ab37c6ac438cbfdfe049c3dc40842438394f19a5.zip
updates
2004/10/19 13:19:25-05:00 anl.gov!desai (Logical change 1.100) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@458 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r--src/lib/Server/Generators/Debconf.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/Server/Generators/Debconf.py b/src/lib/Server/Generators/Debconf.py
index e69de29bb..1c3c13086 100644
--- a/src/lib/Server/Generators/Debconf.py
+++ b/src/lib/Server/Generators/Debconf.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+'''this generator handles production of client-specific debconf files'''
+__revision__ = '$Revision$'
+
+from Bcfg2.Server.Generator import Generator, DirectoryBacked
+from elementtree.ElementTree import XML
+
+class Debconf(Generator):
+ '''Debconf takes <data>/template.dat and adds entries for
+ -> hostname
+ -> video driver'''
+ __name__ = 'Debconf'
+ __version__ = '$Revision$'
+ __author__ = 'bcfg-dev@mcs.anl.gov'
+ __provides__ = {'ConfigFile':{}}
+
+ probes = [XML('''<probe interpreter='/bin/sh'>lspci|grep VGA</probe>''')]
+
+ def __setup__(self):
+ self.repo = DirectoryBacked(self.data, self.core.fam)
+ self.xsensed = {}
+
+ def build_config_dat(self, entry, metadata):
+ '''build debconf file for client'''
+ entry.attrib['owner'] = 'root'
+ entry.attrib['group'] = 'root'
+ entry.attrib['perms'] = '0600'
+ filedata = self.repo.entries['config.dat']
+ xdriver = self.xsensed.get(metadata.hostname, "vesa")
+ entry.text = filedata % (metadata.hostname, xdriver)
+
+ def get_probes(self, metadata):
+ return self.probes
+
+
+
+