[Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Geoff Davis
I'm doing some work on module development inside of a Vagrant VM of CentOS 6.2. This VM has the community version of Puppet installed (2.7.13 I think), but that doesn't include Hiera by default. My module is dependent on Nan Liu's puppet-staging module, which requires hiera. This puts me into

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Nigel Kersten
On Tue, Apr 17, 2012 at 11:08 AM, Geoff Davis gada...@ucsd.edu wrote: I'm doing some work on module development inside of a Vagrant VM of CentOS 6.2. This VM has the community version of Puppet installed (2.7.13 I think), but that doesn't include Hiera by default. My module is dependent on

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Geoff Davis
That's what I'm looking for. I'll fold in that branch into my testing until it goes mainline. Any ETA on it going mainline? On Apr 17, 2012, at 11:14 AM, Nigel Kersten wrote: On Tue, Apr 17, 2012 at 11:08 AM, Geoff Davis gada...@ucsd.edu wrote: I'm doing some work on module development

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Ken Barber
I'm going to review this now. Its destined for master, so someone from the release team can probably comment on the next major release schedule for stdlib. On Tue, Apr 17, 2012 at 7:35 PM, Geoff Davis gada...@ucsd.edu wrote: That's what I'm looking for. I'll fold in that branch into my testing

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Geoff Davis
I've found a potential issue, but I'm not sure if this is within the scope of function_available or not. The vagrant basebox I'm using actually does ship with puppet-hiera, but there's no /etc/puppet/hiera.yaml Thus, even though function_available('hiera') returns true, the function isn't

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Gary Larizza
Hey Geoff, I see that as two separate steps (Is Hiera enabled and is Hiera configured). I think the function satisfies the former, but you might want to write your own check for the latter (as each person probably interprets 'configured' differently). You could do a check like: if

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Geoff Davis
Alas that doesn't work as the manifest fails to compile properly without the /etc/puppet/hiera.yaml file being there. Nan's code does provide defaults for the hiera lookups similar to what you are doing below, but the compiler balks before they are even evaluated. Here's the version of

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Gary Larizza
Hey Geoff, We actually had a talk about this. There is this code that will help catch that scenario FOR NOW -- https://github.com/puppetlabs/hiera-puppet/pull/23 I believe this is a bug and should DEFINITELY be fixed in source. Until then, the 'safe_hiera()' function allows you to make this

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Eric Shamow
As a +1 on this (and as the guy who wrote safe_hiera) -- It shouldn't be a function, the safety should be wrapped into hiera. But yes, this will get you the right syntax so you can just search/replace safe_hiera for hiera once it's fixed. -Eric -- Eric Shamow Professional Services

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Gary Larizza
And here's the bug to track -- http://projects.puppetlabs.com/issues/10367 On Tue, Apr 17, 2012 at 12:31 PM, Eric Shamow e...@puppetlabs.com wrote: As a +1 on this (and as the guy who wrote safe_hiera) -- It shouldn't be a function, the safety should be wrapped into hiera. But yes, this

Re: [Puppet Users] Determining if hiera (or any function) is installed on a node

2012-04-17 Thread Geoff Davis
Cool, thanks for the quick response. In the meantime, it might be helpful to ship a default hiera.yaml in the PuppetLabs packages. I'm using the Vagrant boxes from vstone.eu [1], and he's just pulling your Puppet packages from yum.puppetlabs.com. [2] Version in my VM is: puppet.noarch