Hello all,

I'm attempting to create a custom fact to identify the network to which a 
node belongs to. Below is the fact definition (I realize this fact isn't 
complete but wanted to test what I have so far):

require 'facter'
Facter.add('network_geo') do
  setcode do
    hostname       = Facter.value(:hostname)
    hostname_array = hostname.split('-')

    # debug info
    puts "My network is #{hostname_array}"
  end
end

I then added the fact into a module named sys_ident and more specifically, 
into a directory like so: /modules/sys_ident/lib/facter/network_geo.rb

For debugging purposes, I created a quick init.pp for the sys_ident module 
and added this:

class sys_ident {
  notify{"My network identity is: ${network_geo}" :}
  notify{"My hostname identity is: ${hostname}" :}
}

I then turned on pluginsync on both the puppetmaster and client within 
puppet.conf.

After an initial run on my puppet client, I'm getting the following:

seanconnery-02:/$ sudo puppet agent -tv
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/network_geo.rb
My network is ["seanconnery", "02"]
My network is ["seanconnery", "02"]
Info: Caching catalog for seanconnery-02.domain
Info: Applying configuration version '1409685071'
Notice: My network identity is:
Notice: /Stage[main]/Sys_ident/Notify[My network identity is: ]/message: 
defined 'message' as 'My network identity is: '
Notice: My hostname identity is: seanconnery-02
Notice: /Stage[main]/Sys_ident/Notify[My hostname identity is: 
seanconnery-02]/message: defined 'message' as 'My hostname identity is: 
seanconnery-02'
Notice: Finished catalog run in 0.04 seconds

As you can see from the output, I'm not receiving the expected output from 
my "network_geo" notify parameter (also not sure why I'm getting the "My 
network" twice.  If I run facter from the puppet client, I get nothing in 
return:

seanconnery-02:/$ facter -p network_geo

For good measure, running the same command with the "hostname" fact 
produces this:

seanconnery-02:/$ facter -p hostname
seanconnery-02
 
Based on the output from my client run, it does look like the fact is 
making it to the client but I can't seem to actually invoke it.  

I feel that things are generally in the right place and after considerable 
troubleshooting, the only thing I can think of is a potential 
order-of-operations problem.  

Does anybody have any suggestions as to why this may be occurring?

Thank you in advance for your time and support and my apologies for the 
extra-long post.

Cheers,

Mike






-- 
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/024a85ed-fa17-4770-ba9c-2bcbff0c6b91%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to