Why not make your fact a function?

This way it will only run on the master and you will use a return
value in your manifests instead of facts.



On Sun, Oct 13, 2013 at 10:42 PM, Sans <[email protected]> wrote:
> Hi Wolf,
>
> yes, the custom fact itself is working just fine, so that's not a prob at
> all. It's something like this:
>
>> inFile = "/home/admin/OSs.txt"
>> gos = {}
>>
>> if File.exist?(inFile)
>>     open(inFile, 'r').each do |line|
>>         next if line =~ /^\s*(#|$)/
>>         parts = line.split(',').map(&:strip)
>>
>>         case parts[1]
>>         when /^Mac/
>>             (gos[:mac] ||= []) << parts[0]
>>         when /_Win$/
>>             (gos[:win] ||= []) << parts[0]
>>         else
>>             (gos[:linux] ||= []) << parts[0]
>>
>>         end
>>     end
>> end
>>
>> Facter.add(:am_running_oss) do
>>     has_weight 100
>>     if gos.count >= 1
>>         setcode { gos.keys.join(',') }
>>     else
>>         setcode { 'undefined' }
>>     end
>> end
>
>
>
> As you can see, the problem is the very first line.
> BTW, w.r.t. "provisioning system", it's a bit of mess at the moment and I
> don't wanna touch it before the demo, that we have in two weeks time. It's a
> ENC based system, which we replaced by a master-less Puppet (for AWS)
> implementation and then back to old ENC system again as we started having
> problem with our cloud provisioning. So, right now, it does ship the file on
> to the PM and whatever the extra stuff I'm putting in doing from modules;
> one of the modules needs that file available on every host for that
> custom-fact to work. Thanks anyway. Cheers!!
>
>
>
>
>
> On Sunday, October 13, 2013 6:17:06 PM UTC+1, Wolf Noble wrote:
>>
>> Hi Santanu,
>>
>> custom facts should always do their work inside a setcode block.
>> http://docs.puppetlabs.com/guides/custom_facts.html
>>
>> That has nothing to do with the issue at hand, however.
>>
>> If you need the file to exist before puppet's first run, have your
>> provisioning system lay it down. Otherwise, you'll have the situation you're
>> describing where your first puppet run's job is to set the stage for the
>> rest of your runs.
>>
>> hth
>>
>> W
>
> --
> 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 post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/puppet-users.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to