Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-6406

HA: Client Failover



    • Epic
    • Status: Closed
    • Normal
    • Resolution: Fixed
    • None
    • None
    • None
    • HA: Client Failover


      Overview: There will be a new capability to provide a list of hosts the agent should try to contact when initiating a run. The agent will always go down the list, in order, until it finds a master it can contact. It will use that master for the remainder of the run and stop that run if that master ceases to be available during the run.


      • `server` setting still available, prefers `server_urls` if provided. Discussion on deprecation/PE behavior around these settings ongoing.
      • `server_urls` is an array of strings, indicating the hosts of available masters. If empty array is provided, agent should use the `server` setting.

      Run behavior

      • Agent will read in config and store it in memory for the duration of a run, and will not read it from disk again during that run. This means that run behavior will not change if config changes during a run, which is more likely to happen in the HA future, where we want to start managing agent config files with Puppet. (Related ticket: PUP-6351)

      `server_urls` behavior

      • Agent will try the first host in the list. If that host responds, it will continue using that host for the remainder of a run.
      • Failover does not occur in the middle of a run; if the server being used can no longer be contacted, the run fails.
      • We’d like to log when failover occurs. Kylo suggests a notice-level message for any decision points in the failover. This should ideally be stylistically similar to the logging for the PXP agent failover. Which master was used for a given run will also be included in PuppetDB reports (definitely a separate ticket).




            Unassigned Unassigned
            steven.barlow Steve Barlow
            0 Vote for this issue
            1 Start watching this issue



              Zendesk Support