"We needed a better way to automate Linux deployments in the data center and small labs," said Red Hat's Michael DeHaan, senior software engineer and head of the Cobbler project. "And we wanted to build tooling that we could all contribute and share … so that we could set the low-level steps to install Linux and do it quickly."
In the end, the Cobbler team of Red Hat and community developers created a universal boot server with all the tools for installs, re-installs and virtualization. It's a lightweight, extensible installation engine that abstracts the differences between installation methods and helps systems administrators be more productive instead of wasting time on details, he said.
With support on physical machines and virtual servers with a variety of hypervisors, there are numerous combinations of routine steps in setting up the Dynamic Host Configuration Protocol and domain name server that Cobbler can automate, DeHaan said.
In addition, Cobbler includes a logical volume manager for creating a storage pool for virtual machines (VMs), which is much easier than creating VMs individually, he said.
"The central idea of Cobbler is to be an install server for all types of installations, of which PXE [pre-execution environment for network booting] is a part, virtualization is another part and reinstalls are yet another part," DeHaan said.
Ohio University's story
According to a Cobbler Web page, about 15 organizations including Ohio University, use the install engine. A few years ago, the university completed a small Cobbler installation and has now undertaken a larger one with 80 servers, according to IT staffer Matt Hyclak.
Hyclak chose Cobbler because he wanted a single tool that makes use of the kickstart file system. Kickstart, Hyclak said, is preferable to VMware cloning because it enables systems adminstrators to answer configuration questions up front instead of after the fact. Cobbler improves kickstart even more by enabling admins to apply answers to whole classes of computers and could be used primarily for deploying VMware ESX on bare hardware or RHEL on virtual machines but also an occasional RHEL install on a physical machine, he said.
Hyclak considered other options such as the Red Hat Satellite Server as well as a customized kickstart management tool but concluded that Cobbler would enable him to retain templating and network configuration management capabilities which would, in turn, simplify administration. Cobbler also functions as a central repository that defines what the network system is and should be and helps the staff answer questions from management, he said.
Although Cobbler's initial configuration has more files and is therefore more complex to complete, the extra time is well spent; Cobbler can install more machines at a time, he said.
"Overall, I've been happy with my Cobbler experience and am looking forward to implementing it in my new job [at the university]," he said.
Cobbler in Spacewalk
Cobbler 1.2 is stable and ready for production and, as early as the second quarter of 2009, will be integrated into Spacewalk, Red Hat's open source system management software for deploying, provisioning and monitoring servers, according to Red Hat Satellite product manager Todd Warner. Last June, Spacewalk, the open source code base for the Red Hat Network Satellite system management platform, was converted to open source for the same reasons that Cobbler was created as open source: to incorporate best-of-breed technologies and to enlist the assistance of the open source community, DeHaan said.
The Cobbler engine will improve Spacewalk's enterprise deployment capabilities, providing tighter integration with tools such as PXE and kick start templating with the Koan helper tool, added DeHaan. The end result: a sys admin will be able to define and provision a machine quickly for a specific purpose, such as a Web server or an application server, for example. Cobbler also provides sys admins with greater control over virtualization installs in conjunction with libvirt, Red Hat's toolkit for interacting with Xen and KVM hypervisors. .
Unlike some proprietary software, Cobbler is lightweight and easy to integrate, with an application programming interface that makes it simple to add a Web interface, command lines or an applications running on top of it, DeHaan said.
Although Cobbler 1.2 is production ready, the project is ongoing. Work will continue to integrate Cobbler with other tools and expand its capabilities, for example, integrating Red Hat's new oVirt virtualization manager and making Cobbler available to other Linux distros so any Linux sys admin can go to one place and get the tools he needs, he said.
"The most important thing we can do is work with users to build tools that fit with their environment," DeHaan said. "I get constant feedback of ideas and features to make sure we're building exactly what users want and they have an opportunity to get involved in the development process and influence its future."