Follow up on this:

My code was fine.  Somehow the "level" variable I was using got stuck
on "normal."  That is, when I ran "puppetd -t."
Even if I removed "level = normal" from the manifest, just leaving
"level = confidential," "normal" was returned.
When puppetd ran as a daemon, the correct variable was returned.

The fix was to remove "/var/lib/puppet/yaml/facts/puppet.example.com.yaml."

Kent

2008/9/11 Kenton Brede <[EMAIL PROTECTED]>:
> I'm trying to create a custom fact.  The following code works fine if puppetd
> runs as a daemon but not from the command line.  In other words if this runs
> on server5 as a daemon, the return is correct, "confidential."  But if
> I run "puppetd -t"
> from the command line "normal" is returned.
>
> I don't really know ruby so I'm not confident about the code or using
> the facter/setcode
> method.  Anything I'm doing wrong or is this a puppet/facter bug?
>
> I'm using puppetd 0.24.5 and facter 1.5.1.
>
> Thanks,
> Kent
>
> --------------------------------------------------------------------------------------------
> Facter.add("security_level") do
>    def sec_level()
>        # grab hostname
>        require "socket"
>        hostname = Socket.gethostname
>
>        # check if hostname matches and designate security level
>        if hostname =~ /(server2|server5|server28)/
>          level = 'confidential'
>        else
>          level = 'normal'
>        end
>        return level
>    end
>
>    setcode do
>        sec_level
>    end
>
> end
> -----------------------------------------------------------------------------------------
>

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to