from installclass import BaseInstallClass
import os
from rhpl.log import log
import iutil
from autopart import autoCreatePartitionRequests
from kickstart import Script
class FermiInstallClass(BaseInstallClass):
pixmap = "workstation.png"
def setGroupSelection(self, grpset, intf):
BaseInstallClass.__init__(self, grpset)
grpset.unselectAll()
def postAction(self, rootPath, serial):
log("Running post.sh script for workgroup now")
for script in self.postScripts:
script.run(rootPath, serial)
def getFermiTextFile(self, filename):
file = ""
# fullfilename = todo.method.getFilename(filename,None)
# fullfilename = "/mnt/source/" + filename
if (os.access('/mnt/source/RHupdates/fermi',os.R_OK)):
fullfilename = "/mnt/source/RHupdates/fermi/" + filename
else:
if (os.access('/tmp/updates/fermi',os.R_OK)):
fullfilename = "/tmp/updates/fermi/" + filename
else:
fullfilename = "/usr/lib/anaconda/fermi/" + filename
log("Set fullfilename to: %s", fullfilename)
for n in open(fullfilename).readlines():
file = file + n
# log("Just read %s into file", fullfilename)
return file
def setInstallData(self, id):
id.instClass = self
id.partitions.useAutopartitioning = 0
autorequests = [ ("/", None, 5000, None, 0, 1) ]
(minswap, maxswap) = iutil.swapSuggestion()
autorequests.append((None, "swap", minswap, maxswap, 0, 1))
id.partitions.autoPartitionRequests = autoCreatePartitionRequests(autorequests)
self.setTimezoneInfo( id, "America/Chicago")
# self.setFirewall( id, enable = 1, trusts = [], ports = "")
self.setAuthentication( id ,
1 ,
salt = "md5" ,
useKrb5 = 1 ,
krb5Realm = "FNAL.GOV",
krb5Kdc = "krb-fnal-1.fnal.gov:88,krb-fnal-2.fnal.gov:88,krb-fnal-3.fnal.gov:88,krb-fnal-4.fnal.gov:88,krb-fnal-5.fnal.gov:88",
krb5Admin = "krb-fnal-admin.fnal.gov",
)
def __init__(self, expert):
BaseInstallClass.__init__(self, expert)
self.postScripts = []
scriptInterp="/bin/sh"
scriptChroot=0
ferminame = "post.sh"
script = self.getFermiTextFile(ferminame)
log("Just called Script ")
s = Script(script,scriptInterp,scriptChroot)
self.postScripts.append(s)