summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-08-11 20:40:57 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-08-11 20:40:57 +0000
commit37e5ec4ec9af78f50416482bb8cb090e6de58992 (patch)
treee560ac4f0859e9f95fdb1babfdb45d2b79c83ae7 /src/lib
parent387f482e66f441c089b79b762dfdb02657b35385 (diff)
downloadbcfg2-37e5ec4ec9af78f50416482bb8cb090e6de58992.tar.gz
bcfg2-37e5ec4ec9af78f50416482bb8cb090e6de58992.tar.bz2
bcfg2-37e5ec4ec9af78f50416482bb8cb090e6de58992.zip
Rename: generators/fstab.py -> src/lib/Server/Generators/fstab.py
(Logical change 1.37) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@207 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Server/Generators/fstab.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/lib/Server/Generators/fstab.py b/src/lib/Server/Generators/fstab.py
index e69de29bb..bc5535b4d 100644
--- a/src/lib/Server/Generators/fstab.py
+++ b/src/lib/Server/Generators/fstab.py
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+
+from re import compile
+
+from Generator import Generator
+from GeneratorUtils import DirectoryBacked
+from Types import ConfigFile
+
+class fstab(Generator):
+ __name__ = 'fstab'
+ __version__ = '$Id$'
+ __author__ = 'bcfg-dev@mcs.anl.gov'
+
+ mayor = compile("\$MAYOR")
+
+ def __setup__(self):
+ self.repo = DirectoryBacked(self.data, self.core.fam)
+ self.__provides__ = {'ConfigFile':{'/etc/fstab':self.build_fstab}}
+
+ def build_fstab(self,name,metadata):
+ node = metadata.hostname.split('.')[0]
+ if 'ccn' in node:
+ nodeclass = 'compute'
+ mayor = 'cct%sm.mcs.anl.gov'%((int(node[3:]) / 32) + 1)
+ elif 'ccviz' in node:
+ nodeclass = 'compute'
+ mayor = 'cct10m.mcs.anl.gov'
+ elif 'ccsto' in node:
+ nodeclass = 'storage'
+ mayor = 'cct9m.mcs.anl.gov'
+ elif 'cct' in node:
+ nodeclass = 'mayor'
+ mayor = 'ccprez.mcs.anl.gov'
+ elif 'ccfs' in node:
+ nodeclass = 'fs'
+ mayor = 'ccprez.mcs.anl.gov'
+ else:
+ raise KeyError,client
+
+ fsname = "fstab_%s"%(nodeclass)
+ fsdata = self.repo.entries[fsname].data
+
+ return ConfigFile('/etc/fstab','root','root','0644',self.mayor.sub(mayor,fsdata))
+
+