The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Feature Name |
Releases |
Feature Information |
---|---|---|
Support for Puppet |
7.3(0)N1(1) |
This feature was introduced in Cisco Nexus 5600 and Cisco Nexus 6000 series switches. |
The Puppet software package, developed by Puppet Labs, is an open source automation toolset for managing servers and other resources by enforcing device states, such as configuration settings.
Puppet components include a puppet agent which runs on the managed device (node) and a puppet master (server) that typically runs on a separate dedicated server and serves multiple devices. The operation of the puppet agent involves periodically connecting to the puppet master; 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 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 can also be used to install software packages, copy files, and start services.
More information can be found from Puppet Labs:
Puppet Labs |
|
Puppet Labs FAQ |
|
Puppet Labs Documentation |
The following are prerequisites for the Puppet Agent:
You must have a Cisco device and operating system software release that supports the installation.
Puppet agents cannot run natively on Cisco Nexus 5600 and Cisco Nexus 6000. Instead, they run in a special virtual environment called the Open Agent Container (OAC). For information on how to install OAC on your switch, refer to the chapter Open Agent Container.
You must have Puppet Master server with Puppet 4.0 or later.
You must have Puppet Agent 4.0 or later.
You must have ciscopuppet module 1.1.0 or later.
The puppet agent software must be installed in a Linux environment on the Cisco Nexus platform:
Open Agent Container (OAC):
It is a 32-bit CentOS 6.6 based container that is targeted to specifically allow Puppet and Chef Agents on Nexus platforms. Although the container will have the ability to provide a "bash" shell, it will restrict the applications that can be installed in the Container.
You have to download and install OAC on your device before you install the Puppet client on the device. For information on how to download and install OAC, refer to the chapter Open Agent Container.
The following provide information about agent software download, installation and setup:
Puppet Agent RPM (Open Agent Container (OAC), 32-bit CentOS6 root file) |
Release RPM is located in the repository with the name puppetlabs-release-el-6.noarch.rpm. For the latest information on Agent RPM, go to https://github.com/cisco/cisco-network-puppet-module/tree/master#setup . |
Puppet Agent: Installation & Setup on Cisco Nexus switches (Manual Setup) |
The ciscopuppet module is a Cisco developed open-source interface between the abstract resources configuration in a puppet manifest and the specific implementation details of the Cisco Nexus NX-OS operating system and platform. This module is installed on the puppet master and is required for puppet agent operation on Cisco Nexus switches.
The ciscopuppet module is available on Puppet Forge. For more information about ciscopuppet module location and setup instructions, see:
https://forge.puppetlabs.com/puppetlabs/ciscopuppet
The following table contains links to documents that provide additional information about ciscopuppet module:
Topic |
Link |
---|---|
Resource Type Catalog |
https://github.com/cisco/cisco-network-puppet-module/tree/master#resource-by-tech |
ciscopuppet Module: Source Code Repository |
https://github.com/cisco/cisco-network-puppet-module/tree/master |
ciscopuppet Module: Setup & Usage |
|
Puppet Labs: Installing Modules |
https://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html |
Puppet Forge |