Migrate job hardware

The Continuous Delivery agent is deprecated as of Continuous Delivery for PE version 3.4.0, and will be removed in a future release. The Continuous Delivery agent will continue to work until the removal date, but you can migrate your job hardware to use a Puppet agent at any time.

To migrate your job hardware from using the Continuous Delivery agent to using a Puppet agent, first uninstall the Continuous Delivery agent, then install a Puppet agent and the puppetlabs-cd4pe_jobs module.
Note: These migration instructions apply to both job hardware associated with a single Continuous Delivery for PE workspace and global shared job hardware. The workspace administrator or a super user must complete the migration.
  1. SSH into your job hardware agent node and run the following:
    sudo /usr/local/bin/distelli agent stop
    sudo /usr/local/bin/distelli agent uninstall
  2. In the Continuous Delivery for PE web UI (or in the root console if you're migrating a global shared job hardware server), click Hardware. Locate the job hardware agent node in the list of servers and click Remove hardware node.
  3. 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.
  4. Make sure your Continuous Delivery user role in PE includes the permission to run the cd4pe_jobs::run_cd4pe_job task.
  5. 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
  6. Confirm that Docker is installed and configured 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.
  7. 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.
Results
Your job hardware is now migrated 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.