import ConfigParser
import mic.utils as utils
import mic.utils.errors as errors
+from mic import kickstart
from mic import msger
DEFAULT_GSITECONF='/etc/mic/mic.conf'
def __set_ksconf(self, ksconf):
self.ksconf = ksconf
self.parse_kickstart(ksconf)
- pass
def __get_ksconf(self):
return self.ksconf
_ksconf = property(__get_ksconf, __set_ksconf)
return
try:
- kickstart = utils.kickstart.read_kickstart(ksconf)
- ksrepos = utils.misc.get_repostrs_from_ks(kickstart)
+ ks = kickstart.read_kickstart(ksconf)
+ ksrepos = utils.misc.get_repostrs_from_ks(ks)
msger.info("Retrieving repo metadata:")
repometadata = utils.misc.get_metadata_from_repos(ksrepos, self.create['cachedir'])
- msger.info("\nDONE")
+ msger.raw(" DONE")
- self.create['ks'] = kickstart
+ self.create['ks'] = ks
self.create['repomd'] = repometadata
self.create['name'] = os.path.splitext(os.path.basename(ksconf))[0]
except Exception, e:
- raise errors.KickstartError("Unable to load kickstart file '%s': %s" % (ksconf, e))
+ raise errors.KsError("Unable to load kickstart file '%s': %s" % (ksconf, e))
def setProperty(self, key, value):
if not hasattr(self, key):
from mic.utils import fs_related as fs
from mic import msger
-sys.path.insert(0, os.path.dirname(__file__) or '.')
-import pykickstart
-
import pykickstart.commands as kscommands
import pykickstart.constants as ksconstants
import pykickstart.errors as kserrors
try:
ks.readKickstart(path)
except IOError, (err, msg):
- raise errors.KickstartError("Failed to read kickstart file "
- "'%s' : %s" % (path, msg))
- except kserrors.KickstartError, e:
- raise errors.KickstartError("Failed to parse kickstart file "
- "'%s' : %s" % (path, e))
+ raise errors.KsError("Failed to read kickstart file "
+ "'%s' : %s" % (path, msg))
+ except kserrors.KickstartParseError, e:
+ raise errors.KsError("Failed to parse kickstart file "
+ "'%s' : %s" % (path, e))
return ks
def build_name(kscfg, prefix = None, suffix = None, maxlen = None):
def call(self, args):
if not os.path.exists("%s/%s" %(self.instroot, args[0])):
msger.warning("%s/%s" %(self.instroot, args[0]))
- raise errors.KickstartError("Unable to run %s!" %(args))
+ raise errors.KsError("Unable to run %s!" %(args))
subprocess.call(args, preexec_fn = self.chroot)
def apply(self):
shutil.copyfile(self.path("/usr/share/zoneinfo/%s" %(tz,)),
self.path("/etc/localtime"))
except (IOError, OSError), (errno, msg):
- raise errors.KickstartError("Error copying timezone info: %s" %(msg,))
+ raise errors.KsError("Error copying timezone info: %s" %(msg,))
class AuthConfig(KickstartConfig):
def set_unencrypted(self, password):
for p in ("/bin/echo", "/usr/sbin/chpasswd"):
if not os.path.exists("%s/%s" %(self.instroot, p)):
- raise errors.KickstartError("Unable to set unencrypted password due to lack of %s" % p)
+ raise errors.KsError("Unable to set unencrypted password due to lack of %s" % p)
p1 = subprocess.Popen(["/bin/echo", "root:%s" %password],
stdout = subprocess.PIPE,
def set_unencrypted_passwd(self, user, password):
for p in ("/bin/echo", "/usr/sbin/chpasswd"):
if not os.path.exists("%s/%s" %(self.instroot, p)):
- raise errors.KickstartError("Unable to set unencrypted password due to lack of %s" % p)
+ raise errors.KsError("Unable to set unencrypted password due to lack of %s" % p)
p1 = subprocess.Popen(["/bin/echo", "%s:%s" %(user, password)],
stdout = subprocess.PIPE,
else:
self.set_empty_passwd(userconfig.name)
else:
- raise errors.KickstartError("Invalid kickstart command: %s" % userconfig.__str__())
+ raise errors.KsError("Invalid kickstart command: %s" % userconfig.__str__())
def apply(self, user):
for userconfig in user.userList:
for network in ksnet.network:
if not network.device:
- raise errors.KickstartError("No --device specified with "
+ raise errors.KsError("No --device specified with "
"network kickstart command")
if (network.onboot and network.bootProto.lower() != "dhcp" and
not (network.ip and network.netmask)):
- raise errors.KickstartError("No IP address and/or netmask "
+ raise errors.KsError("No IP address and/or netmask "
"specified with static "
"configuration for '%s'" %
network.device)