Using Puppet Agent with Cisco NX-OS

Puppet Agent with Cisco NX-OS

Feature History for Puppet Support

This table lists the release history for this feature:

Table 1. Feature History for Puppet Support

Feature Name

Releases

Feature Information

Puppet Agent with Cisco NX-OS

8.4(1)

This feature is deprecated. Use of the virtual-service commands result in notifications about the deprecation.

Puppet Agent with Cisco NX-OS

7.3(0)D1(1)

This feature was introduced in Cisco Nexus 7000 Series and Cisco Nexus 7700 switches.

Information About Puppet Agent

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 that 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 the 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.

The following table lists resources that provide additional information about Puppet Labs:

Table 2. information on Puppet Labs

Puppet Labs

https://puppetlabs.com

Puppet Labs FAQ

http://docs.puppetlabs.com/guides/faq.html

Puppet Labs Documentation

http://docs.puppetlabs.com/

Prerequisites for Puppet Agent

The following are the prerequisites for the Puppet agent:

  • You must have a Cisco device and an operating system software release that supports the installation.

    • Cisco Nexus 7000 Series Switch

    • Cisco Nexus 7700 Series Switch

    • Cisco NX-OS release 7.3(0)D1(1) or later for Cisco Nexus 7000 Series and Cisco Nexus 7700 series switches

  • Puppet agents cannot run natively on Cisco Nexus 7000 Series and Cisco Nexus 7700 switches. Instead, they run in a special virtual environment called the OAC. For information on how to install OAC on your switch, refer to Open Agent Container.

  • You must have a Puppet primary 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.

Puppet Agent in a Cisco NX-OS Environment

The Puppet agent software must be installed in a Linux environment on the Cisco Nexus platform.

Open Agent Container is a 32-bit CentOS 6.6-based container that is targeted to specifically allow Puppet agents on Cisco 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 OAC.

Beginning with Cisco NX-OS Release 8.4(1), the puppet agent support is deprecated. This featue was added in the Cisco NX-OS Release 7.3(0)D1(1) with the purpose of providing and execution space for configuration management. It is recommended to use agent-less configuration management systems with the Cisco Nexus 7000 Series switches.

You have to download and install OAC on your device before you install the Puppet client on the device. For information about how to download and install OAC, refer to the chapter Open Agent Container (OAC).

The following table provides information about agent software download, installation, and setup:

Table 3. Puppet Agent download, Installation and Setup Information

Puppet Agent RPM OAC, 32-bit CentOS6 root file)

http://yum.puppetlabs.com/

Release RPM is located in the repository under 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)

Cisco Puppet Module::README-agent-install.md

ciscopuppet Module

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 NX-OS operating system and platform. This module is installed on the Puppet primary and is required for Puppet agent operations on Cisco Nexus switches.

The ciscopuppet module is available on Puppet Forge. For more information about the 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

Cisco Puppet Module::README.md

Puppet Labs: Installing Modules

https://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html

Puppet Forge

https://forge.puppetlabs.com/