Puppet Enterprise 2019.0

Enabling a replica activates most of its duplicated services and components, and instructs agents and infrastructure nodes how to communicate in a failover scenario.

Before you begin

Back up your classifier hierarchy, because enabling a replica alters classification.

Note: While completing this task, the master is unavailable to serve catalog requests. Time completing this task accordingly.
  1. On the primary master, as the root user, run puppet infrastructure enable replica <REPLICA NODE NAME>, then follow the prompts to instruct Puppet how to configure your deployment.
  2. Deploy updated configuration to nodes by running Puppet or waiting for the next scheduled Puppet run.
    Note: If you use the direct Puppet workflow, where agents use cached catalogs, you must manually deploy the new configuration by running puppet job run --no-enforce-environment --query 'nodes {deactivated is null and expired is null}'
  3. Optional: Perform any tests you feel are necessary to verify that Puppet runs continue to work during failover. For example, to simulate an outage on the master:
    1. Prevent the replica and a test node from contacting the master. For example, you might temporarily shut down the master or use iptables with drop mode.
    2. Run puppet agent -t on the test node. If the replica is correctly configured, the Puppet run succeeds and shows no changed resources. Runs may take longer than normal when in failover mode.
    3. Reconnect the replica and test node.
  4. On the replica, in the /etc/puppetlabs/puppet/puppet.conf file's main section, remove the entire line where the server variable is set: server = <MASTER NODE NAME>

    When you enable HA, the server variable is superseded by the server_list variable. If you later promote a replica on which the server variable still exists and points to the old master, some commands might not function properly.

  5. If you've specified any tuning parameters for your master using the console, move them to Hiera instead.

    Using Hiera ensures configuration is applied to both your master and replica.

Back to top