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 <pe...@poproj.com> 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 puppet-users+unsubscr...@googlegroups.com.
> 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 puppet-users+unsubscr...@googlegroups.com.
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