Romain, I am confused.

In your first post you said you need to check if a package exists on the 
"Agent", the Puppet client.

Now below you say you need the check executed on the Master.

Facts are executed on the Agents and only ever on Agents. If you want to 
check for something on a client/agent machine, you use a Fact, like the one 
you posted below.

If you want to execute arbitrary code on the Master (during catalogue 
compilation) probably the simplest thing you are after is the Generate 
function:

http://docs.puppetlabs.com/references/latest/function.html#generate

On linux, I would use something that looks a bit like this:

class woof {
  $file_exists = generate('/bin/test', '-f', 
'/softw4pc/Misc/pfoleproxy/pfoleproxy*.txt')
  if $file_exists {
  ...
  }
}

There are other ways you can execute arbitrary code, like embedded Ruby 
with the inline_template() function, pure Ruby manifests, or bury the code 
somehow in a custom type and provider.

Does that help?

-Luke

On Thursday, December 13, 2012 6:46:07 AM UTC, Romain Gales wrote:
>
> The facter should be executed on the server instead on the client.
>
>
>
>
> On Thursday, December 13, 2012 1:29:23 AM UTC+1, Jakov Sosic wrote:
>>
>> On 11/28/2012 09:46 PM, Romain Gales wrote: 
>> > there is what i tried: 
>> > 
>> > # getpfoleproxyver.rb 
>> > # 
>> > Facter.add(:getpfoleproxyver) do 
>> >   setcode do 
>> >       Facter::Util::Resolution.exec('basename `ls 
>> > /softw4pc/Misc/pfoleproxy/pfoleproxy*.txt`') 
>> >   end 
>> > end 
>> > 
>> > the fact is working fine, but how to use this in my manifest? 
>> > i tried a lot but it was always empty? 
>> > 
>> > $getpfoleproxyver should be correct, no? 
>>
>> Are you sure it's working on the client? You can see the value when you 
>> type facter -p | grep getpfoleproxyver 
>>
>> ? 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/zrpJgZzE8poJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to