why not check to see if the binary which you're using to talk to the raid hw 
exists.. if so, execute and provide facts, if not, do nothing..
That's how it's being done in the hpacucli fact I've been using.


On Aug 23, 2012, at 11:26 AM, Nigel Kersten <ni...@puppetlabs.com>
 wrote:

> On Thu, Aug 23, 2012 at 7:17 AM, ZJE <countac...@gmail.com> wrote:
>>
>> On Wednesday, August 22, 2012 1:56:49 PM UTC-5, Nigel Kersten wrote:
>>>
>>> On Wed, Aug 22, 2012 at 11:13 AM, ZJE <count...@gmail.com> wrote:
>>>> The slowdown comes from the command that I run before any Facter.add
>>>> statements. It takes roughly 1.5 seconds to run and I would need to run
>>>> it
>>>> roughly 64 times if I had it in each Facter.add. Many facts are
>>>> generated by
>>>> a loop that contains a Facter.add, so I feel like some sort of exception
>>>> would make things easier.  I'd like to avoid using a "giant if
>>>> statement" if
>>>> possible (there are roughly 100 lines of code that would be
>>>> encapsulated).
>>>> One of the main issues I have is that there are two different checks
>>>> that
>>>> happen in different parts of the code. I recognize that some may
>>>> consider
>>>> adding more if-statements as increased readability, but I feel like the
>>>> added indentation for large chunks of code causes confusion for readers
>>>> (especially when looking at loops).
>>>>
>>>> Thanks so much for your reply!
>>>
>>> You should be able to do something like this, which worked for the
>>> quick test I did, but I haven't extensively tested it.
>>>
>>> arr = ["one", "two", "three", "four"]
>>>
>>> if true then
>>>  # exit due to conditions for not running on this host
>>>  exit
>>> else
>>>  # run the command you'd run and store in an instance variable
>>> end
>>>
>>> arr.each do |e|
>>>  Facter.add("tester_#{e}") do
>>>    setcode do
>>>      "bleah"
>>>    end
>>>  end
>>> end
>>
>>
>>
>> Hi Nigel,
>>
>> Thanks again for your reply. Currently, I'm using "exit" - but I think this
>> causes the entire facter run to stop prematurely. If my script ends up being
>> the first custom fact run, facter actually outputs nothing. Could there be a
>> different problem?
>>
>> For example, if FACTERLIB=/opt/facter/facts and my custom fact looks like
>> this:
>> ---
>> cat /opt/facter/facts/bailfact.rb
>> #!/usr/bin/ruby
>> Facter.debug "In bailfact!"
>> exit
>> ---
>>
>> I get:
>> ---
>> [root@testhost ~]# facter -d
>> Relative directory ./facter removed from search path.
>> Not an EC2 host
>> in bail fact!
>> ---
>>
>> and nothing else.
>>
>> If it helps, I'm using facter 2.0.0rc4
>>
>> Thanks!
>
> heh. That makes sense :)
>
> You're going to need to surround it all in a conditional then as far
> as I can see.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> 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.
>


________________________________

This message may contain confidential or privileged information. If you are not 
the intended recipient, please advise us immediately and delete this message. 
See http://www.datapipe.com/legal/email_disclaimer/ for further information on 
confidentiality and the risks of non-secure electronic communication. If you 
cannot access these links, please notify us by reply message and we will send 
the contents to you.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
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