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 from a booted host. View the Configuration Managment: The UCS Configuration Utility (ucscfg) and Puppet video demo for more information on managing UCS infrastructure from the OS. For more on provisioning, 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.
- Puppet Enterprise manages your environment once a Razor provisioned node is handed off. You can create node groups and add classes as needed. Puppet Enterprise also supports role and profile modules to streamline workload deployment.
- 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 checkouthttps://youtu.be/o46LZJrKU8ca 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.
For additional information on managing your compute workloads and infrastructure with Puppet, see the demo of Puppet and the Cisco UCS Configuration Utility.