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 Dynamic Host Configuration Protocol, Trivial File Transfer Protocol, and Domain Name System. It can be configured for Preboot Execution Environment, reinstallations, and virtualized guests using Xen, Kernel-based Virtual Machine or VMware. Cobbler interacts with the  program for re-installation and virtualization support. 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 January 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 RedHat Satellite 6.0.