diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2004-10-19 18:22:16 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2004-10-19 18:22:16 +0000 |
commit | ab37c6ac438cbfdfe049c3dc40842438394f19a5 (patch) | |
tree | 9634798b5fd9efc3e8fa0570a592fd8a964027ac /src/lib/Server | |
parent | 020b4e9d2fe258d73b22f5f3c93a9675393e8628 (diff) | |
download | bcfg2-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
Diffstat (limited to 'src/lib/Server')
-rw-r--r-- | src/lib/Server/Generators/Debconf.py | 38 |
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 + + + + |