Puppet 3 and hiera

13 views
Skip to first unread message

Peter Berghold

unread,
Jan 9, 2019, 12:06:54 PM1/9/19
to puppet...@googlegroups.com
Hi folks,

I know... I know... get off of Puppet 3.  I'll be getting there soon.

Right now I have Puppet 3 in our production environment where I work.  Long political story as to why we are still on 3 that I won't get into.   I just did a release of the Puppet code and one of the "features" of the release is moving all the data out of the code into hiera.

This has been shaken out and tested thoroughly and works fine. So far so good.  Superficially at least both the production and lab environments match each other in terms of Puppet version OS etc.   Both lab and production use RHEL 6.5 (?) and here's where the issue comes in.

Puppet servers (I have a tiered environment, grand master -> manages -> remote masters -> manage clients) all seem to be working fine.  On the client nodes the Puppet agent terminates with an error: 

Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error
+RuntimeError: Hiera terminus not supported without hiera library at
+/etc/puppet/environments/Production/manifests/site.pp:24 on node
+<REDACTED>

I did some Googling looking for a solution and I found one mention of the need for a "ruby-hiera" package.  This is not installed in our test lab so this seems to be a red herring to me but I'm very willing to be wrong. 

The line of code the error is happening on cited above is simple hiera_include('classes');

Thoughts anybody?  
--

Peter L. Berghold                       Salty....@gmail.com

http://science-fiction.berghold.net

Justin Stoller

unread,
Jan 9, 2019, 6:46:34 PM1/9/19
to puppet...@googlegroups.com
On Wed, Jan 9, 2019 at 9:06 AM Peter Berghold <salty....@gmail.com> wrote:
Hi folks,

I know... I know... get off of Puppet 3.  I'll be getting there soon.

Right now I have Puppet 3 in our production environment where I work.  Long political story as to why we are still on 3 that I won't get into.   I just did a release of the Puppet code and one of the "features" of the release is moving all the data out of the code into hiera.

This has been shaken out and tested thoroughly and works fine. So far so good.  Superficially at least both the production and lab environments match each other in terms of Puppet version OS etc.   Both lab and production use RHEL 6.5 (?) and here's where the issue comes in.

Puppet servers (I have a tiered environment, grand master -> manages -> remote masters -> manage clients) all seem to be working fine.  On the client nodes the Puppet agent terminates with an error: 

Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error
+RuntimeError: Hiera terminus not supported without hiera library at
+/etc/puppet/environments/Production/manifests/site.pp:24 on node
+<REDACTED>

I did some Googling looking for a solution and I found one mention of the need for a "ruby-hiera" package.  This is not installed in our test lab so this seems to be a red herring to me but I'm very willing to be wrong. 

I think that package provides the library that can also be installed via the hiera gem. You might want to see whether the hiera gem is installed in Puppet/Puppet Server's gempath in one place vs the other (maybe someone installed it via gem in the lab?).

The line of code the error is happening on cited above is simple hiera_include('classes');

Thoughts anybody?  
--

Peter L. Berghold                       Salty....@gmail.com

http://science-fiction.berghold.net

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAArvnv281q9BHN5eY22MCcS_rtQ4utkmfYffY15b0cRtuUCg_A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

jcbollinger

unread,
Jan 10, 2019, 9:57:00 AM1/10/19
to Puppet Users


On Wednesday, January 9, 2019 at 11:06:54 AM UTC-6, Salty Old Cowdawg wrote:
Hi folks,

I know... I know... get off of Puppet 3.  I'll be getting there soon.

Right now I have Puppet 3 in our production environment where I work.  Long political story as to why we are still on 3 that I won't get into.   I just did a release of the Puppet code and one of the "features" of the release is moving all the data out of the code into hiera.

This has been shaken out and tested thoroughly and works fine. So far so good.  Superficially at least both the production and lab environments match each other in terms of Puppet version OS etc.   Both lab and production use RHEL 6.5 (?) and here's where the issue comes in.

Puppet servers (I have a tiered environment, grand master -> manages -> remote masters -> manage clients) all seem to be working fine.  On the client nodes the Puppet agent terminates with an error: 

Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error
+RuntimeError: Hiera terminus not supported without hiera library at
+/etc/puppet/environments/Production/manifests/site.pp:24 on node
+<REDACTED>



This may already be clear to you, but just in case, do note that although this error is reported on the clients, it occurs on their master.  I guess that's one or more of the remote masters.  If you're thinking in terms of what is installed on the agent machines then that could be throwing you off.  Does the Hiera command-line tool run on the relevant masters?

I'm afraid I don't know where to find P3 docs any longer, but if I did, I would be looking for clues among the installation instructions.  The docs now available for both Puppet overall and for the Hiera subsystem both assume that you'll get Hiera in the same package that provides Puppet, or at least as a dependency of that package.

 
I did some Googling looking for a solution and I found one mention of the need for a "ruby-hiera" package.  This is not installed in our test lab so this seems to be a red herring to me but I'm very willing to be wrong. 


Hmm.  I don't find a "ruby-hiera" in Fedora's Koji system.  Their Hiera packages (i.e. those that go into EPEL) are named simply "hiera".  And their Puppet packages, including for Puppet 3, have that "hiera" package as a dependency.


The line of code the error is happening on cited above is simple hiera_include('classes');

Thoughts anybody?  


Is there any chance that you have too new an Hiera installed?


John

Peter Berghold

unread,
Jan 10, 2019, 3:06:57 PM1/10/19
to puppet...@googlegroups.com
>> Is there any chance that you have too new an Hiera installed?

I was actually worried at first that there was a regression in terms of what hiera was on there given the host was "patched" recently.  I may have found the problem and yes I suspected right along the issue was on the remote master not the client.  (well except for a brief moment in time at around 6AM the installation starting at midnight... I was a bit foggy then.)

I'm deploying a "fix" and if it works I'm going to post as much here. 



--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages