Issue #1866 has been updated by Rhys Morgan.

This would be highly useful for an implementation we are currently considering 
where we essentially have tiers of puppetmasters and would like to have a comma 
delimited list of puppetmasters in the agent config which will be attempted in 
order, moving up a tier each time.
----------------------------------------
Feature #1866: Support for specification of multiple servers
https://projects.puppetlabs.com/issues/1866

Author: Ian Turner
Status: Accepted
Priority: Normal
Assignee: 
Category: plumbing
Target version: Telly
Affected Puppet version: 0.24.7
Keywords: load balanced, multiple masters, high availability
Branch: 


At the moment it is only possible to tell puppetd about one puppetmaster: 
Engaging multiple servers requires load balancing equipment such as that 
employed by the reporter of Feature #1557. The simplest (for administrators) 
way to address this issue is to enable round-robin server access within puppetd 
itself. This is the technique employed extremely effectively in openvpn.

I propose two configuration changes: The "server" directive should accept a 
comma-seperated list of servers, and a new "randomserver" boolean directive 
indicates how the server list is traversed.

Pseudocode to be executed at the start of each puppet run:
<pre>
# if randomserver and lastserver = NIL
  # serverlist <- rotateleft(serverlist, rand(length(serverlist))
# nextserver <- NIL
# trialcount <- length(serverlist)
# loop until nextserver ≠ NIL
  # trialserver <- first(serverlist)
  # if retrievecatalogok(trialserver)
    # nextserver <- trialserver
  # else
    # server <- rotateleft(server, 1)
    # trialcount <- trialcount - 1
    # if trialcount = 0
      # error("no working servers")    
# lastserver <- nextserver
</pre>



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to