Configure job hardware running a Puppet agent

Job hardware, or the servers Continuous Delivery for PE uses to test your Puppet code, must be configured before you begin running jobs or using pipelines. Any node with a Puppet agent installed can be designated as job hardware.

Before you begin
Review the sizing guide in Job hardware requirements.
Important: Only the administrator of a workspace or a super user can configure job hardware for a workspace.
  1. Install a Puppet agent on each of the nodes you wish to use as job hardware. See Installing agents in the PE documentation for details.
  2. Make sure your Continuous Delivery user role in PE includes the permission to run the cd4pe_jobs::run_cd4pe_job task.
  3. Install the puppetlabs-cd4pe_jobs module, which is required to run Continuous Delivery for PE jobs on your nodes:
    1. Add the puppetlabs-cd4pe_jobs module to the following:
      • The Puppetfile for the production environment on the PE master that manages the agent nodes you've selected as job hardware
      • The Puppetfile on the master branch of the control repo associated with the PE master that manages the agent nodes you've selected as job hardware

      A sample Puppetfile entry:
      mod 'puppetlabs-cd4pe_jobs', '1.5.0'
    2. Deploy the updated code to the production environment:
      puppet code deploy production --wait
  4. Install and configure Docker on each node. Docker is required for the Docker-based pre-built jobs included in Continuous Delivery for PE. See the Installing Docker instructions for details.
  5. Finally, tell Continuous Delivery for PE that the nodes are ready to be used as job hardware for Docker-based jobs by assigning them to the Docker hardware capability. Capabilities organize your job hardware servers and ensure that jobs run on hardware with the right characteristics. Continuous Delivery for PE automatically creates a Docker hardware capability for you.
    1. In the Continuous Delivery for PE web UI, click Hardware.
    2. Locate the Docker capability and click + Edit.
    3. Select the PE instance that manages the nodes you've selected as job hardware. Then, select your job hardware nodes.
      The selected nodes are added to the Hardware with this capability list on the right.
    4. Click Save.
Your job hardware is now configured and ready for use.
Tip: If you're managing a large set of job hardware nodes, you can create additional capabilities to distribute the testing load and ensure that each job runs on a server with the correct characteristics. See Add job hardware capabilities for instructions.
Note: Due to the fact that Continuous Delivery for PE job hardware nodes are classified as PE infrastructure nodes, the puppet_agent module cannot be used to successfully upgrade Puppet agents running on job hardware. To upgrade the Puppet agent on a job hardware node, use the agent upgrade script.