Hi Peter,

Object.hash in Ruby provides the hash of the Object ID, not a consistent
cryptographic hash of the string provided.

Try it in two different IRB sessions and you'll see what I mean. It will
change between garbage collection runs and/or at every invocation of Puppet
if done in cron.

Trevor



On Tue, May 17, 2016 at 7:42 PM, p <[email protected]> wrote:

> Hi Everyone,
>
> My custom puppet code changes values randomly. Why?
>
> This code creates a random port for me based on the argument's hash. The
> idea is that this will create a TCP port for me based on the name of the
> argument I give it (for instance the FQDN) so that it is unique, above 1024
> but below 65535. I don't want to have to worry about port numbers, it
> should just calculate the same every time.
>
> module Puppet::Parser::Functions
>   newfunction(:ip_port, :type => :rvalue) do |args|
>     args[0].hash % 64511 + 1024
>   end
> end
>
>
> I use it in a manifest this way:
> $ip_port = ip_port('www.example.com')
>
> The puppet agent runs every 30 minutes by default. It's a master/slave
> v3.8 setup. When I run it manually, the value always comes back the same.
> But when I leave it alone, at some point the value changes. I use this to
> create ports for haproxy. Thanks for your help.
>
>
> Peter
>
> --
> 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/d2551534-236d-4598-b288-1faa7d3c6bb0%40googlegroups.com
> <https://groups.google.com/d/msgid/puppet-users/d2551534-236d-4598-b288-1faa7d3c6bb0%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699 x788

-- This account not approved for unencrypted proprietary information --

-- 
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/CANs%2BFoXt2%2BFfrK_WW5wNjagXvZj4vuABa65LNZa1Ja6TB%3DwUqQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to