diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Server/Generators/myri.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/Server/Generators/myri.py b/src/lib/Server/Generators/myri.py index e69de29bb..0f0f8c81c 100644 --- a/src/lib/Server/Generators/myri.py +++ b/src/lib/Server/Generators/myri.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +from socket import getaddrinfo + +from Generator import Generator +from Types import ConfigFile + +class myri(Generator): + __name__ = 'myri' + __version__ = '$Id$' + __author__ = 'bcfg-dev@mcs.anl.gov' + + filedata="DEVICE=myri0\nIPADDR=%s\nBROADCAST=140.221.69.255\nNETMASK=255.255.254.0\nNETWORK=140.221.68.0\nONBOOT=yes\nBOOTPROTO=none" + + def __setup__(self): + self.__provides__ = {'ConfigFile':{'/etc/sysconfig/network-scripts/ifcfg-myri0':self.build_myri}} + + def build_myri(self,name,metadata): + client = metadata.hostname + (ip,port) = getaddrinfo(client,None)[0][4] + subnet = int(ip.split('.')[2])+2 + lo = ip.split('.')[3] + addr = "140.221.%s.%s"%(subnet,lo) + return ConfigFile('/etc/sysconfig/network-scripts/ifcfg-myri0','root','root','0755',self.filedata%(addr)) |