diff options
-rw-r--r-- | CHANGELOG | 7 | ||||
-rw-r--r-- | MANIFEST.in | 1 | ||||
-rw-r--r-- | cobbler.spec | 8 | ||||
-rw-r--r-- | cobbler/action_sync.py | 42 | ||||
-rw-r--r-- | kickstart_fc6_domU.ks | 39 | ||||
-rw-r--r-- | setup.py | 2 |
6 files changed, 88 insertions, 11 deletions
@@ -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 + @@ -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']), |