Configure global shared job hardware running a Puppet agent

Global shared job hardware can be used by all workspaces in your Continuous Delivery for PE installation. The root user or a super user must set up these special job hardware servers in the root console.

Before you begin
Review the sizing guide in Job hardware requirements.
  1. Install a Puppet agent on each of the nodes you wish to use as global shared 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 your selected global shared job hardware nodes. See the Installing Docker instructions for details.
  5. In the root console, click Hardware.
  6. All global shared job hardware servers must be assigned to the Docker capability, which is automatically created for you. Locate the Docker capability and click + Edit.
  7. Next, assign all your global shared job hardware servers to the Docker capability. Select the PE instance that manages the node you've selected as job hardware. Then, select the global shared job hardware nodes.
    The selected nodes are added to the Hardware with this capability list on the right.
  8. When you've selected all the nodes you want to assign to the capability, click Save.
  9. As needed, create additional capabilities for your global job hardware servers. To create a new capability, click + Add capability and give your new capability a name, then follow steps 6 and 7.
    Tip: To learn more about capabilities, see Add job hardware capabilities.
Results
Your global shared job hardware is now configured. Users in all workspaces will now see a Use shared hardware option when creating or editing a job. Jobs that are configured to run on your global shared job hardware have the Docker capability automatically selected, and will run on the global shared job hardware assigned to the Docker capability.
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.