Razor is a flexible provisioning tool that makes it easy to control how machines are built based on rules and policies. It maintains an inventory of nodes and their hardware characteristics, gathered by booting each node into a discovery image. Discovery information, together with user-defined policies is used to make installation decisions. Razor can install a wide variety of operating systems, from common Linux flavors like Debian, Ubuntu, CentOS, and RHEL, to operating systems known for their resistance to automated installation like ESXi and Windows. Beyond installation, Razor strives to be a tool for managing a machine's lifecycle, including power control via IPMI etc. and easy integration with external systems. Razor is an opinionated tool that focuses narrowly on provisioning, but makes it easy to hand off a node after installation to a configuration management system like Puppet to perform more complicated setup tasks and for ongoing maintenance.This talk will give an overview of Razor's capabilities and provide some hands-on examples about its use; it will also give examples of how Razor and Puppet can be used to address common provisioning problems, like building an OpenStack cloud.
David is a principal engineer at Puppet Labs and the technical lead for Puppet Labs' development of Razor. Before joining Puppet Labs, David worked at Red Hat on a variety of management tools and served as the maintainer of apache Deltacloud. He was one of the earliest contributors to Puppet, and is the main author of the Augeas configuration management tool.