Chapter 2. Managing Puppet Modules
2.1. Installing a Puppet Module on Satellite Server
You can install a pre-built Puppet module from the Puppet Forge. The Puppet Forge is a repository that provides Puppet modules contributed by the community. Puppet modules flagged as supported are officially supported and tested by Puppet Inc.
This example shows how to add the ntp module to managed hosts.
Procedure
-
Navigate to forge.puppet.com and search for
ntp
. One of the first modules is puppetlabs/ntp. Connect to your Satellite Server using SSH and install the Puppet module:
# puppet module install puppetlabs-ntp -i /etc/puppetlabs/code/environments/production/modules
Use the
-i
parameter to specify the path and Puppet environment, for exampleproduction
.Once the installation is completed, the output looks as follows:
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... Notice: Created target directory /etc/puppetlabs/code/environments/production/modules Notice: Downloading from https://forgeapi.puppet.com ... Notice: Installing -- do not interrupt ... /etc/puppetlabs/code/environments/production/modules |-| puppetlabs-ntp (v8.3.0) |-- puppetlabs-stdlib (v4.25.1) [/etc/puppetlabs/code/environments/production/modules]
An alternative way to install a Puppet module is to copy a folder containing the Puppet module to the module path as mentioned above. Ensure to resolve its dependencies manually.
2.2. Updating a Puppet Module
You can update an existing Puppet module using the puppet
command.
Procedure
Connect to your Puppet server using SSH and find out where the Puppet modules are located:
# puppet config print modulepath
This returns output as follows:
/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/environments/common:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules:/usr/share/puppet/modules
If the module is located in the path as displayed above, the following command updates a module:
# puppet module upgrade module name