from fermiinstallclass import FermiInstallClass
from kickstart import Script
from rhpl.log import log
import os
import iutil

class FermiUpgradeClass(FermiInstallClass):
    name = ("Upgrade Fermi Existing System")
    pixmap = "upgrade.png"
    sortPriority = 999999

    parentClass = ( "Upgrade", "upgrade.png" )

    def requiredDisplayMode(self):
        return 't'

    def setSteps(self, dispatch):
	dispatch.setStepList(
		    "language",
		    "keyboard",
		    "mouse",
		    "welcome",
		    "installtype",
                    "findrootparts",
		    "findinstall",
                    "partitionobjinit",
                    "upgrademount",
                    "determineworkgroup",
                    "upgradeswapsuggestion",
		    "addswap",
                    "upgrademigfind",
                    "upgrademigratefs",
                    "upgradecontinue",
                    "readcomps",
                    "findpackages",
                    "upgbootloader",
                    "checkdeps",
		    "dependencies",
		    "confirmupgrade",
		    "install",
                    "migratefilesystems",
                    "preinstallconfig",
                    "installpackages",
                    "postinstallconfig",
                    "instbootloader",
                    "dopostaction",
		    "bootdisk",
                    "methodcomplete",
		    "complete"
		)

        if iutil.getArch() == "alpha" or iutil.getArch() == "ia64":
	    dispatch.skipStep("bootdisk")
            dispatch.skipStep("bootloader")
            dispatch.skipStep("bootloaderadvanced")

    def setInstallData(self, id):
	id.instClass = self

	self.setAuthentication( id , 
			        1 ,  # useShadow
			        1 ,  # useMD5
                                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",
                              )

        id.upgrade.set(1)
    
#    def __init__(self, expert):
#	FermiInstallClass.__init__(self, expert)
