Puppet Agent NX-OS Environment
About Puppet
The Puppet software package, developed by Puppet Labs, is an open source automation toolset for managing servers and other resources. The Puppet software accomplishes server and resource management by enforcing device states, such as configuration settings.
Puppet components include a puppet agent which runs on the managed device (node) and a Puppet Primary (server). The Puppet Primary typically runs on a separate dedicated server and serves multiple devices. The operation of the puppet agent involves periodically connecting to the Puppet Primary, which in turn compiles and sends a configuration manifest to the agent. The agent reconciles this manifest with the current state of the node and updates state that is based on differences.
A puppet manifest is a collection of property definitions for setting the state on the device. The details for checking and setting these property states are abstracted so that a manifest can be used for more than one operating system or platform. Manifests are commonly used for defining configuration settings, but they also can be used to install software packages, copy files, and start services.
More information can be found from Puppet Labs
Puppet Labs | https://puppetlabs.com |
Puppet Labs FAQ | https://puppet.com/products/faq |
Puppet Labs Documentation | https://puppet.com/docs |
Prerequisites
The following are prerequisites for the Puppet Agent:
- For information about supported platforms, see the Nexus Switch Platform Matrix.
- You must have the required disk storage available on the device for virtual services installation and deployment of Puppet Agent.
- A minimum of 450MB free disk space on bootless.
- You must have Puppet Primary server with Puppet 4.0 or later.
- You must have Puppet Agent 4.0 or later.
Puppet Agent NX-OS Environment
The Puppet Agent software must be installed on a switch in the Guest Shell (the Linux container environment running CentOS). The Guest Shell provides a secure, open execution environment that is decoupled from the host.
Starting with the Cisco NX-OS Release 9.2(1), the Bash-shell (native Win driver Linux environment underlying Cisco NX-OS) install of Puppet Agent is no longer supported.
The following provides information about agent-software download, installation, and setup:
Puppet Agent: Installation & Setup on Cisco Nexus switches (Manual Setup) | https://github.com/cisco/ cisco-network-puppet-module/blob/develop/docs/ README-agent-install.md |
ciscopuppet Module
The ciscopuppet module is a Cisco developed open-source software module. It interfaces between the abstract resources configuration in a puppet manifest and the specific implementation details of the Cisco NX-OS operating system and platform. This module is installed on the Puppet Primary and is required for puppet agent operation on Cisco Nexus switches.
The ciscopuppet module is available on Puppet Forge.
The following provide additional information about the ciscopuppet module installation procedures:
iscopuppet Module location Puppet Forge (Puppet Forge) | Puppet Forge |
Resource Type Catalog | Cisco Puppet Resource Reference |
ciscopuppet Module: Source Code Repository | Cisco Network Puppet Module |
ciscopuppet Module:Setup & Usage | Cisco Puppet Module::README.md |
Puppet Labs: Installing Module | https://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html |
Puppet NX-OS Manifest Examples | Cisco Network Puppet Module Examples |
NX-OS developer landing page. | Configuration Management Tools |
Documents / Resources
![]() |
cisco Nexus 3000 Series NX-OS Programmability Guide [pdf] Instructions Nexus 3000 Series, NX-OS Programmability Guide, Programmability Guide, NX-OS Programmability |