Bare-metal provisioning with Razor

This version is out of date. For current versions, see Puppet Enterprise support lifecycle.

Razor is a provisioning application that deploys bare-metal systems. Policy-based provisioning lets you use characteristics of the hardware as well as user-provided data to make provisioning decisions. You can automatically discover bare-metal hardware, dynamically configure operating systems and hypervisors, and hand off nodes to PE for workload configuration.

Automated provisioning makes Razor ideal for big installation jobs, like setting up a new selection of servers in a server farm. You can also use Razor to regularly wipe and re-provision test machines.

Note: If you’re using Razor in a brownfield environment, review how to protect existing nodes before you begin.

Provisioning with Razor involves these steps:

How Razor works

The following steps provide a high-level view of the process for provisioning a node with Razor.

Razor identifies a new node

bare node

When a new node appears, Razor discovers its characteristics by booting it with the Razor microkernel and using Facter to inventory its facts.

The node is tagged

tags applied

The node is tagged based on its characteristics. Tags contain a match condition — a Boolean expression that has access to the node’s facts and determines whether the tag should be applied to the node or not.

The node tags match a Razor policy

tags compared to policies

Node tags are compared to tags in the policy table. The first policy with tags that match the node’s tags is applied to the node.

Policies pull together all the provisioning elements


Razor provisions the node

policy applied

The node is now installed. If you choose, you can hand off management of the node to Puppet Enterprise.

Razor system requirements

The Razor server has been validated on the RHEL/CentOS 6.x and 7.x operating systems.

The Razor client is supported on these operating systems:

  • Windows 2008 R2 Server
  • Windows 2012 R2 Server
  • ESXi 5.5
  • RHEL 6 & 7
  • CentOS 6 & 7
  • Ubuntu 12.04
  • Ubuntu 14.04
  • Debian Wheezy

Prerequisites for machines provisioned with Razor

To successfully install an operating system on a machine using Razor, the machine must:

  • Have at least 512MB RAM.
  • Be supported by the operating system that you’re installing.
  • Be able to successfully boot into the microkernel. The microkernel is based on CentOS 7, 64-bit only, and supports the x86-64 Intel architecture.
  • Be able to successfully boot the iPXE firmware.

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.