homeblogintroducing new device manager module agentless automation

Introducing the new device manager module for agentless automation

Introducing the device_manager module

Puppet continues to increase its support of agentless network devices: devices that don’t need a Puppet agent installed on them in order to be managed. In this deployment model, the device is agentless and another Puppet agent acts as a proxy to request certificates, collect facts, retrieve and apply catalogs, and store reports on behalf of the device.

Originally, I wrote the puppet_device module (in response to a Puppet Enterprise support request) to automate configuration of those proxy Puppet agents. Puppet has moved that module into its namespace, updated the documentation, added acceptance tests, and renamed it to device_manager.

The device_manager module manages the configuration required by the puppet device command, installs libraries required by associated device modules, and provides additional resources for orchestrating and scheduling puppet device runs on proxy Puppet agents.

What does this module do?

The original request was to orchestrate puppet device runs on the proxy Puppet agent to trigger on-demand configuration of an F5 device. This was before Puppet Tasks was available, so the module allowed puppet device to be triggered via a puppet job.

In practice, the proxy Puppet agent becomes part of your PE infrastructure, and it’s configuration could (should!) be expressed as code and data using Puppet. Given that, the module also:

  • Manages the configuration of device.conf
  • Allows the storage of device configuration data in Hiera YAML (or encrypted via Hiera EYAML)
  • Installs libraries required by associated device modules
  • Allows orchestration of puppet device runs via a puppet task
  • Schedules puppet device runs on the proxy agent via a cron or scheduled task
  • Defines a fact on the proxy Puppet agent identifying the devices for which it is a proxy

How to use this module

Get up and running with device_manager using the following steps:

  1. Install the device_manager module on your master
  2. Install the device module associated with your device on the master
  3. Declare resources to configure the proxy Puppet agent
  4. Declare resources to manage the device

Learn more

You can find the device_manager module on the Forge. Check out its documentation, and start managing your network devices using some of the following device modules:

Tom Kishel is a senior support engineer at Puppet.