Issue #1866 has been updated by IanTurner.
I don't have a strong opinion on this question; what seems both easiest and most reliable to me would be to pick a single server for each run. That is, a single invocation of --onetime would go to a single server, but the server could change after every runinterval. It also makes sense to me to stick to a single server unless it has a problem, so that we don't keep trying to hit dead servers (that's what this "lastserver" variable is about), but I don't really view that as essential. You could argue that it's better to try a random server each time so as to quickly redistribute the load after a failure. ---------------------------------------- Feature #1866: Support for specification of multiple servers http://projects.reductivelabs.com/issues/show/1866 Author: IanTurner Status: Accepted Priority: Normal Assigned to: luke Category: plumbing Target version: unplanned Complexity: Medium 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 -~----------~----~----~----~------~----~------~--~---
