I think that's perfect for the OP's use case. And if you need multiple random numbers there's a useful second parameter to fqdn_rand(), the "seed", which can be any string or integer and allows you to get multiple different random numbers on the same host.
So, you could use the server_list.size as the seed to get a different but number after you pop off an item from your server_list array. -- Martijn Op zondag 23 juli 2017 16:51:17 UTC+2 schreef Rob Nelson: > > You could try fqdn_rand(). Fqdn_rand will generate a random number, but > the same random number for a given fqdn, so you would get the same value > every time rather than it changing. > https://docs.puppet.com/puppet/latest/function.html#fqdnrand > > On Sun, Jul 23, 2017 at 1:20 AM MK <[email protected] <javascript:>> > wrote: > >> Does anyone have experiences randomizing the order of redundant server >> names in the client configuration and won't change the order during next >> puppet agent runs? >> >> For example, I have a bunch of ldap slave servers put in an array: >> >> $_ldap_servers = ['ldap1' , 'ldap2', 'ldap3'] >> >> I want to randomize the order in the client config (ex, nslcd.conf or >> sssd.conf ) so they don't always hit the same ldap server. >> >> ex: >> ldap_search_base = dc=example, dc=com >> ldap_uri = ldaps://ldap2 ldaps://ldap0 ldaps://ldap3 >> >> What I did so far is that in the ERB template, I put the following code: >> ```` >> ldap_uri = <% >> server_list = @_ldap_servers.shuffle >> server_list.size.times do >> server = server_list[rand(server_list.size)] -%>ldaps://<%= server >> -%>/ <% >> server_list.delete(server) >> end %> >> ``` >> It was working well with Rack based puppetmaster 3.x, but after upgrading >> to puppetserver 2.7.x, it changes the order every time when agent runs. >> >> Does anyone have any suggestions? >> Thanks so much! >> >> MK >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/cfe4921b-d777-4b9e-8b6a-473f7c1904a5%40googlegroups.com >> >> <https://groups.google.com/d/msgid/puppet-users/cfe4921b-d777-4b9e-8b6a-473f7c1904a5%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- > Rob Nelson > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/63df98a6-ec85-4976-b300-0e3482857c99%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
