summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-06-22 19:06:52 -0400
committerMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-06-22 19:06:52 -0400
commit0c304bca866a0c5b3f4fa1daa56f326dc6b2ea1e (patch)
tree549d6f454c4fc78a1bf57b9e9fbfa069c7f9f59c
parent3de4ca0a938bd9555a6ce178adb1cfae83ca280a (diff)
downloadcobbler-0c304bca866a0c5b3f4fa1daa56f326dc6b2ea1e.tar.gz
cobbler-0c304bca866a0c5b3f4fa1daa56f326dc6b2ea1e.tar.xz
cobbler-0c304bca866a0c5b3f4fa1daa56f326dc6b2ea1e.zip
Fix --replace-self evaluation of correct kickstart path
-rwxr-xr-xkoan/app.py25
1 files changed, 11 insertions, 14 deletions
diff --git a/koan/app.py b/koan/app.py
index 598c80df..7e89ee98 100755
--- a/koan/app.py
+++ b/koan/app.py
@@ -312,7 +312,8 @@ class Koan:
self.build_initrd(
self.safe_load(profile_data,'initrd_local'),
- self.safe_load(profile_data,'kickstart')
+ self.safe_load(profile_data,'kickstart'),
+ profile_data
)
k_args = k_args.replace("lang ","lang= ")
@@ -346,23 +347,19 @@ class Koan:
self.debug("reboot to apply changes")
return self.do_net_install("/boot",after_download)
- def get_kickstart_data(self,kickstart):
+ def get_kickstart_data(self,kickstart,data):
"""
Get contents of data in network kickstart file.
"""
print "- kickstart: %s" % kickstart
if kickstart is None or kickstart == "":
return None
- if kickstart.startswith("/var/www/cobbler/kickstarts/"):
- kickstart = kickstart.replace(
- "/var/www/cobbler/kickstarts",
- "http://%s/cblr/kickstarts" % self.server
- )
- if kickstart.startswith("/var/www/cobbler/kickstarts_sys/"):
- kickstart = kickstart.replace(
- "/var/www/cobbler/kickstarts_sys",
- "http://%s/cblr/kickstarts_sys" % self.server
- )
+
+ if kickstart.startswith("/") and data.has_key('profile'):
+ kickstart = "http://%s/cblr/kickstarts_sys/%s/ks.cfg" % (data['server'],data['name'])
+ else:
+ kickstart = "http://%s/cblr/kickstarts/%s/ks.cfg" % (data['server'],data['name'])
+
if kickstart.startswith("nfs"):
ndir = os.path.dirname(kickstart[6:])
nfile = os.path.basename(kickstart[6:])
@@ -416,13 +413,13 @@ class Koan:
fi
""" % initrd
- def build_initrd(self,initrd,kickstart):
+ def build_initrd(self,initrd,kickstart,data):
"""
Crack open an initrd and install the kickstart file.
"""
# save kickstart to file
- ksdata = self.get_kickstart_data(kickstart)
+ ksdata = self.get_kickstart_data(kickstart,data)
fd = open("/var/spool/koan/ks.cfg","w+")
if ksdata is not None:
fd.write(ksdata)