summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG7
-rw-r--r--MANIFEST.in1
-rw-r--r--cobbler.spec8
-rw-r--r--cobbler/action_sync.py42
-rw-r--r--kickstart_fc6_domU.ks39
-rw-r--r--setup.py2
6 files changed, 88 insertions, 11 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 3006b2c..2671178 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,10 +1,15 @@
Cobbler CHANGELOG
(all entries mdehaan@redhat.com unless noted otherwise)
-* Mon Jan 21 2007 - 0.3.7
+* Thu Jan 24 2007 - 0.3.7
- Default/examples kickstarts are now fully automatic (added hd type/size detection).
- Kickstart tracking now includes remote syslog support, just run "cobbler sync" to enable.
- "cobbler status" command improved to include syslog info/times.
+- Added fc6 kickstart file that was left out of the RPM earlier
+- Added mini domU kickstart
+- bugfix: don't install mod_python watcher on older Apache installs (like RHEL4) as it
+ somehow corrupts downloads on older copies. kickstart tracking by syslog still works
+ on those platforms. (This only applies to the cobbler server, not clients).
* Thu Dec 21 2006 - 0.3.6
- locking feature now enabled
diff --git a/MANIFEST.in b/MANIFEST.in
index 22150e7..cf345e5 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -3,6 +3,7 @@ include elilo-3.6-ia64.efi
include dhcp.template
include kickstart_fc5.ks
include kickstart_fc6.ks
+include kickstart_fc6_domU.ks
include default.ks
include default.pxe
include cobbler.1.gz
diff --git a/cobbler.spec b/cobbler.spec
index e1d3e7d..eef001f 100644
--- a/cobbler.spec
+++ b/cobbler.spec
@@ -12,6 +12,7 @@ Requires: httpd
Requires: tftp-server
Requires: python-devel
Requires: createrepo
+Requires: mod_python
BuildRequires: python-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildArch: noarch
@@ -51,6 +52,8 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%dir /etc/cobbler
%config(noreplace) /etc/cobbler/default.ks
%config(noreplace) /etc/cobbler/kickstart_fc5.ks
+%config(noreplace) /etc/cobbler/kickstart_fc6.ks
+%config(noreplace) /etc/cobbler/kickstart_fc6_domU.ks
%config(noreplace) /etc/cobbler/dhcp.template
%config(noreplace) /etc/cobbler/default.pxe
%config(noreplace) /etc/cobbler/rsync.exclude
@@ -69,9 +72,12 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%changelog
-* Mon Jan 21 2007 Michael DeHaan <mdehaan@redhat.com> - 0.3.7-1
+* Thu Jan 24 2007 Michael DeHaan <mdehaan@redhat.com> - 0.3.7-1
- Upstream changes (see CHANGELOG)
- Added packaging for new logfile directory and syslog watcher daemon
+- Added Requires for mod_python
+- Added sample FC6 kickstart that I forgot to add from months ago. doh!
+- Added FC6 mini domU kickstart
* Thu Dec 21 2006 Michael DeHaan <mdehaan@redhat.com> - 0.3.6-1
- Upstream changes (see CHANGELOG)
diff --git a/cobbler/action_sync.py b/cobbler/action_sync.py
index 203fe29..43854dd 100644
--- a/cobbler/action_sync.py
+++ b/cobbler/action_sync.py
@@ -184,6 +184,36 @@ class BootSync:
return
f = self.open_file(conf_file,"w+")
+
+ # the watcher.py script appears a bit flakey in older Apache 2 versions
+ # so only install the MP hook when we think Apache can handle it
+ # otherwise the filter could corrupt some binary files (erg!) and the install
+ # will die almost immediately. You've got to love all the corner cases in systems mgmt
+ # software, don't you?
+
+ release_info_fh = os.popen("rpm -q --whatprovides redhat-release")
+ release_info = release_info_fh.read()
+ release_info_fh.close()
+
+ mod_python_ok = True
+
+ for x in [ "redhat-release-4", "redhat-release-3", "centos-release-4", "centos-release-3" ]:
+ if release_info.lower().find(x) != -1:
+ mod_python_ok = False
+
+ if mod_python_ok:
+ mp_section = """
+ AddHandler mod_python .py
+ PythonOutputFilter watcher WATCHER
+ AddOutputFilter WATCHER ks.cfg
+ AddOutputFilter WATCHER .rpm
+ AddOutputFilter WATCHER .xml
+ AddOutputFilter WATCHER .py
+ PythonDebug On
+ """
+ else:
+ mp_section = ""
+
config_data = """
#
# This configuration file allows 'cobbler' boot info
@@ -195,19 +225,12 @@ class BootSync:
AllowOverride None
Order allow,deny
Allow from all
- AddHandler mod_python .py
- PythonOutputFilter watcher WATCHER
- AddOutputFilter WATCHER ks.cfg
- AddOutputFilter WATCHER .rpm
- AddOutputFilter WATCHER .xml
- AddOutputFilter WATCHER .img
- AddOutputFilter WATCHER vmlinuz
- AddOutputFilter WATCHER .py
- PythonDebug On
+ MPSECTION
</Directory>
"""
# this defaults to /var/www/cobbler if user didn't change it
config_data = config_data.replace("/cobbler_webdir",self.settings.webdir)
+ config_data = config_data.replace("MPSECTION", mp_section)
self.tee(f, config_data)
self.close_file(f)
@@ -731,6 +754,7 @@ class BootSync:
except OSError, oe:
if not oe.errno == 17: # already exists (no constant for 17?)
traceback.print_exc()
+ print oe.errno
raise cexceptions.CobblerException("no_create", path)
def service(self, name, action):
diff --git a/kickstart_fc6_domU.ks b/kickstart_fc6_domU.ks
new file mode 100644
index 0000000..a9df434
--- /dev/null
+++ b/kickstart_fc6_domU.ks
@@ -0,0 +1,39 @@
+# DomU kickstart for Fedora Server Spin
+# Installs 142 packages / 560MB
+# Tested with FC6
+
+install
+reboot
+url --url=TEMPLATE::tree
+
+lang en_US.UTF-8
+keyboard us
+xconfig --driver "fbdev" --resolution 800x600 --depth 24
+network --device eth0 --bootproto dhcp
+rootpw --iscrypted $1$mF86/UHC$WvcIcX2t6crBz2onWxyac.
+firewall --enabled --port=22:tcp
+authconfig --enableshadow --enablemd5
+selinux --disabled
+timezone --utc America/New_York
+bootloader --location=mbr --driveorder=xvda --append="rhgb quiet"
+
+clearpart --all --initlabel --drives=xvda
+part /boot --fstype ext3 --size=100 --ondisk=xvda
+part pv.2 --size=0 --grow --ondisk=xvda
+volgroup domu --pesize=32768 pv.2
+logvol / --fstype ext3 --name=lv00 --vgname=domu --size=1024 --grow
+logvol swap --fstype swap --name=lv01 --vgname=domu --size=272 --grow --maxsize=544
+
+%packages --nobase
+crontabs
+dhclient
+dhcpv6_client
+nfs-utils
+openssh-clients
+openssh-server
+yum
+
+%post
+TEMPLATE::yum_config_stanza
+TEMPLATE::kickstart_done
+
diff --git a/setup.py b/setup.py
index 0b5f481..38daad7 100644
--- a/setup.py
+++ b/setup.py
@@ -34,6 +34,8 @@ if __name__ == "__main__":
(wwwpath, ['watcher.py']),
(cobpath, ['elilo-3.6-ia64.efi']),
(etcpath, ['kickstart_fc5.ks']),
+ (etcpath, ['kickstart_fc6.ks']),
+ (etcpath, ['kickstart_fc6_domU.ks']),
(etcpath, ['default.ks']),
(etcpath, ['dhcp.template']),
(etcpath, ['default.pxe']),