Here it is applied to devel
From bb3ef85c4f4dbb9cbbb1cdbe22383afa86c56beb Mon Sep 17 00:00:00 2001
From: Bill Peck <bpeck(a)localhost.localdomain>
Date: Wed, 15 Oct 2008 14:16:07 -0400
Subject: [PATCH] kickstart auto associate order
feature: look for kickstarts in the following directory structure on import
/var/lib/cobbler/kickstarts/
-> ARCH/OS_VERSION.ks
-> OS_VERSION.ks
-> ARCH/default.ks
-> default.ks
---
cobbler/action_import.py | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/cobbler/action_import.py b/cobbler/action_import.py
index dea0f5e..ada238d 100644
--- a/cobbler/action_import.py
+++ b/cobbler/action_import.py
@@ -935,11 +935,6 @@ class RedHatImporter ( BaseImporter ) :
except:
os_version = "other"
- if major >= 8:
- return os_version , "/etc/cobbler/sample_end.ks"
- if major >= 6:
- return os_version , "/etc/cobbler/sample.ks"
-
if flavor == "redhat" or flavor == "centos":
if major <= 2:
# rhel2.1 is the only rhel2
@@ -950,6 +945,26 @@ class RedHatImporter ( BaseImporter ) :
except:
os_version = "other"
+ kickbase = "/var/lib/cobbler/kickstarts"
+ # Look for ARCH/OS_VERSION kickstart first
+ # OS_VERSION next
+ # ARCH/default.ks next
+ # default.ks finally.
+ kickstarts = ["%s/%s/%s.ks" % (kickbase,distro.arch,distro.os_version),
+ "%s/%s.ks" % (kickbase,distro.os_version),
+ "%s/%s/default.ks" % (kickbase,distro.arch),
+ "%s/default.ks" % kickbase]
+ for kickstart in kickstarts:
+ if os.path.exists(kickstart):
+ return os_version, kickstart
+
+ if flavor == "fedora":
+ if major >= 8:
+ return os_version , "/etc/cobbler/sample_end.ks"
+ if major >= 6:
+ return os_version , "/etc/cobbler/sample.ks"
+
+ if flavor == "redhat" or flavor == "centos":
if major >= 5:
return os_version , "/etc/cobbler/sample.ks"
--
1.5.5.1