On Sep 10, 8:27 am, Jeff <[EMAIL PROTECTED]> wrote:
> I was hoping to get some guidance on my first fact. I'd like to create
> a global configuration file that contains default values that I can
> reference in multiple classes. In other words, I'd like one source
> for, say, JAVA_HOME but I'd like to reference it in my java and
> profile classes.
>
> The configuration file would look like this:
>
> java_home=/usr/java/jdk1.5.0_15
> jboss_home=/usr/local/jboss
>
> [etc]
>
> I'd like the fact to read the file and assign the value to a variable
> with the same name as the key, i.e.,
>
> $java_home = "/usr/java/jdk1.5.0_15"
> $jboss_home = "/usr/local/jboss"
>
> [etc]
>

Okay, I took a stab at this. Here's my code:

key  = nil
val  = nil
test = {}
File.open("/var/puppet/modules/globals.conf").each do |line|
  key,val = line.split(/=/)
  if key != nil && val != nil
    test[key] = val
    key = nil
    val = nil
  end
end
test.each { |name,fact|
  Facter.add(name) do
    setcode do
      fact
    end
  end
}

Unfortunately, it doesn't work. When I add print statements inside the
test.each loop, I get values for 'name' and 'fact' HOWEVER, when I run
it without those print statements I get nothing. I'm stumped.

Jeff
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to