Issue #1866 has been updated by Nigel Kersten.

Priority changed from High to Normal
Target version changed from Statler to Telly


----------------------------------------
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