Cobbler (software)
Cobbler is a Linux provisioning server that facilitates and automates the network-based system installation of multiple computer operating systems from a central point using services such as DHCP, TFTP, and DNS. It can be configured for PXE, reinstallations, and virtualized guests using Xen, KVM or VMware. Cobbler interacts with the koan program for re-installation and virtualization support. koan and Cobbler use libvirt to integrate with different virtualization software. Cobbler is able to manage complex network scenarios like bridging on a bonded Ethernet link.

The Cobbler project was born at Red Hat and led by Michael DeHaan.

Cobbler builds on the Kickstart mechanism and offers installation profiles that can be applied to one or many machines. It also features integration with Yum to aid in machine installs.

Cobbler has features to dynamically change the information contained in a kickstart template (definition), either by passing variables called ksmeta or by using so-called snippets. An example for a ksmeta variable could be the name of a disk device in the system. This could be inherited from the system's Cobbler profile. Snippets can be dynamic Python code that expands the limited functionality of Anaconda. The combination of profiles, ksmeta and snippets gives Cobbler high flexibility; complexity is avoided by keeping the actual "code" in the snippets, of which there can be one for each task in an installation. There are examples for network setup or disk partitioning; keeping common code in snippets helps minimize the size of the kickstart files.

Cobbler was originally targeted for RPM-based installs via Kickstart and Anaconda and was previously hosted as part of the Fedora Project.
Since Jan 19, 2011, Cobbler has been packaged for Ubuntu. Since 2012, Canonical Ltd has used Cobbler for test automation of OpenStack on Ubuntu.

Red Hat's systems management application, Satellite, used Cobbler for provisioning up until RHEL 6.0.

References

External links
 

Free software programmed in Python
Provisioning
Virtualization-related software for Linux