Cobbler (software)

Cobbler is a Linux provisioning server that facilitates and automates the network-based 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.

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, that allow to remove many dozen lines from the kickstart file.

Although Cobbler originally targeted and packaged 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 and since 2012 Cobbler is used by Canonical Ltd for test automation of OpenStack on Ubuntu.

Cobbler is also used for provisioning by Red Hat's systems management application, Satellite.