Issue #1866 has been updated by IanTurner.
As an addendum, I would propose that randomserver's default value be false. Also, I should give credit where due and state that this entire proposal is copied from the way that openvpn does things; to quote from an example openvpn configuration: <pre> # The hostname/IP and port of the server. # You can have multiple remote entries # to load balance between the servers. remote server-a.example.com 1194 remote server-b.example.com 1194 remote server-c.example.com 1194 # Choose a random host from the remote # list for load-balancing. Otherwise # try hosts in the order specified. ;remote-random </pre> ---------------------------------------- Feature #1866: Support for specification of multiple servers http://projects.reductivelabs.com/issues/show/1866 Author: IanTurner Status: Unreviewed Priority: Normal Assigned to: Category: plumbing Target version: Complexity: Easy Affected version: 0.24.7 Keywords: load balanced, multiple masters, high availability 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://reductivelabs.com/redmine/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 -~----------~----~----~----~------~----~------~--~---
