Markus Roberts wrote: > Mark Drayton made a good point > (http://projects.reductivelabs.com/issues/2601#note-3); are we making > the code more complicated than it needs to be to get less functionality > than we might otherwise have? Rather than saying that it takes one > additional numeric argument, why not just permit arbitrary additional > seed values, like so: > > "Generates random numbers based on the node's fqdn. The first argument > sets the range. Additional (optional) arguments may be used to > further distinguish > the seed.") do |args| > max = args.shift > srand MD5.new([lookupvar('fqdn'),args].join(':')).to_s.hex > rand(max).to_s > > Specifically, is there any advantage to having a numeric offset to the > seed? The practice is, in general, frowned upon at least insofar as > small/constant numeric offsets don't add to the entropy and can result > in a higher rate of collisions than adjusting the salt. >
I had some similar questions about this: my understanding (based on the irc discussions) is that this function is really only used to distinguish among hosts. Given that functionality, it seems the ability to modify the seed/change the string being randomized is only present when you have more than one host in your puppet environment that has a given IP address. In which case, either the current behavior or the suggestion above suffices. I say that, but I'm still not really sure of this function's usage in The Real World. Some of the new tests I added are to help demonstrate/elicit the more useful behavior. Steven End Point Corporation --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" 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-dev?hl=en -~----------~----~----~----~------~----~------~--~---
