Skip to content

puppetlabs/pltraining-dockeragent

pltraining/dockeragent

This module is used to configure simple Dockerized agent nodes for the classroom environment in Puppet Labs training courses. Unless you are an instructor, this is probably not the module you are looking for. It makes certain assumptions about the environment and is only flexible within the design specs of our training courses.

That being said, you're welcome to poke through it and see how we set things up.

Usage

include dockeragent

# This will manage 5 containerized agents.
range(1,5).each |$n| {
    dockeragent::node { "agent${n}.${::fqdn}":
        ports => ["${n}0080:80"],
    }
}

Example workloads

One thing that containerized agents are sometimes used for is simulating the load of running an environment against a Puppet master. To facilitate that, we've included a handful of very simple sample testing profiles. They don't really do anything useful other than provide the master with a reasonable, if small, catalog to compile.

node default {
  include dockeragent::sample::wordpress
  include dockeragent::sample::vhosts
}

The modules used by these classes are not set as dependencies, so they will not be installed automatically by puppet module install. If you want to use them, you'll want to install them separately:

  • Requirements for dockeragent::sample::wordpress:
    • hunner/wordpress
    • puppetlabs/apache
    • puppetlabs/mysql
  • Requirements for dockeragent::sample::vhosts:
    • puppetlabs/apache
    • Future parser or Puppet 4.x

Other projects:

For another take on the idea of load testing the Puppet master, see https://github.com/puppetlabs/clamps.

Contact

education@puppetlabs.com