Michael DeHaan wrote:
A second question -- while thinking about #5 above, it occured to me
that I don't immediately understand why cobbler copies the vmlinuz
and initrd.img files into the httpd tree. Why do you do that?
It's all about koan. Koan allows for provisioning of remote systems
when a PXE environment is not available.
For instance:
"yum install koan"
"koan --replace-self --server=cobbler.example.com --profile=fc6test"
/sbin/reboot
Koan also does virtual image installs (currently it only supports Xen,
though this will probably expand later):
"yum install koan"
"koan --virt --server=cobbler.example.com --profile=myvirtualwebserver"
Here's another use case that might be more illustrative of koan's
capabilities. Suppose you have a running machine "foo" on your
network, running Linux, and you want to re-provision it (say the box is
sick, or you just want to do something else with it -- maybe it's in a
university lab or render-farm and gets re-provisioned every night,
even). Cobbler has a build in feature called "enchant", where that
system can be automatically re-provisioned from the cobbler server,
without manually logging on the remote to run "koan".
cobbler enchant --address=foo.example.com --profile=fc6test
For this to work best, one would have the ssh public key of the cobbler
server in authorized_keys on the provisioned box. The best time to
place the key there, of course, is during the provisioning process using
kickstart %post. If the ssh key isn't on there, you'll have to enter
password information, in which case, ssh-agent might be handy. It
works either way.
Enchant logs into the remote system, installs the prereqs for koan
(using yum or up2date as appropriate), installs the koan noarch RPM (by
grabbing it from the cobbler server), and then runs the "koan
--replace-self" command. That command in turn downloads the cobbler
profile information (including already templated kickstarts, the kernel,
initrd, and so forth, and edits the boot-loader config (lilo or grub, as
detected) and adds a kickstart entry in the top of the boot list. Then
it reboots the system.
So, with one remote command on the cobbler server, you can re-provision
an existing Linux system, sans PXE. This is especially important in
places that don't have PXE setups, for whatever reason -- including
older hardware that isn't PXEable and IT environments that, for whatever
reason, won't allow proper DHCP configuration. I use this in my office
all the time, as it's lot easier than keeping media around, and I don't
have to worry about BIOS idiosyncrasies.
--Michael