Programmatic Provisioning with Puppet Enterprise, Razor, and Cisco UCS
Cisco UCS and Puppet have put together solutions for rapid bare metal provisioning and infrastructure management. Visit the main Puppet Modules for UCS page for more information on how to use Puppet with UCS. For more on provisioning UCS with Puppet and Razor, read on!
Provisioning is done through Puppet's Razor module which offers a variety of options for installing host environments on provisioned nodes. One great thing about the solution is that Razor is already part of Puppet Enterprise and you can try Puppet Enterprise on up to 10 nodes for free!
At a high-level, the provisioning is accomplished in 3 steps:
Install and configure Puppet Enterprise for your environment. Puppet Enterprise’s rich set of modules allows for a wide range of managed workloads across all major OS, Virtual Machine, and Container environments. With Puppet Enterprise installed, you can setup Razor on one of your nodes for subsequent host provisioning.
Configure host "roles" in Puppet Enterprise and Razor.
Razor does the provisioning (OS installs) and you will want to create Razor policies for how node tags are matched and installs are done.
Create a UCS Service Profile and name it to match a Razor policy and Puppet Enterprise node group rule. Setting up your Profile to PXE boot from the Razor server and associating it with whatever servers you want to provision will automatically start the provisioning process.
The Service Profile is key to programmatically configuring the underlying infrastructure (compute, network, and storage configuration and policies).
You can automate all aspects of Service Profile creation and maintenance with the UCS Manager Python SDK. Cisco UCS's open API and higher level programming abstractions allow fast, reliable automation and true "infrastructure as code".
Once the above steps are performed and the node boots, it is provisioned by Razor and automatically handed off to Puppet Enterprise!
Details on the solution are provided in the attached whitepaper and you can checkouta video demo on YouTube or see the video on Cisco Communities. The demos pick up the process at step 3 with Puppet Enterprise and Razor already configured and a node being associated with a Service Profile and installed for the desired role.
Additional Information on Using Puppet with Cisco UCS