Puppet is software developed by Puppet Labs that is used for configuration management. Puppet provides an efficient and scalable solution for managing the configurations of large numbers of devices. System administrators take advantage of Puppet to manage compute resources such as physical and virtual servers.
You typically deploy the Puppet software using a client-server arrangement, where the server, or Puppet master, manages one or more agent nodes. The client daemon, or Puppet agent, runs on each of the managed compute resources.
You create Puppet manifest files to describe your desired system configuration. The Puppet master compiles the manifests into catalogs, and the Puppet agent periodically retrieves the catalog and applies the necessary changes to the configuration.
Juniper Networks provides support for using Puppet to manage certain devices running the Junos® operating system (Junos OS). Table 1 describes the support components, and Figure 1 illustrates the interaction of the components.
Table 1: Puppet for Junos OS Components
Component | Description |
|---|---|
jpuppet package | This package is installed on the agent node running Junos OS and contains the Puppet agent, the Ruby programming language, and support libraries. |
Puppet netdev module | This module is installed on the Puppet master and contains Puppet resource types to control specific Ethernet switch configuration such as VLANs. |
Ruby gem for NETCONF (Junos XML API) | This gem is installed on the Puppet master and is also bundled in the jpuppet package. |
Figure 1: Puppet Components for Managing Devices Running Junos OS

The Juniper Networks netdev Puppet module provides new Puppet resource types for configuring:
When using Puppet to manage devices running Junos OS, the Puppet agent makes configuration changes under exclusive lock and logs all commit operations with a Puppet catalog version for audit tracking. Puppet report logs include a Junos OS source indicator for log entries specific to Junos OS processing and tags associated with the operation or error, which enables easy report extraction.
For more information about Puppet, see the Puppet Labs website at http://www.puppetlabs.com/.