I was able to track this down.  Apparently
$puppet_master_storedconfigs is either reserved or too long.  When I
changed it to $puppet_master_storedcfgs, the catalog compiled.  Go
figure.

On Wed, Feb 29, 2012 at 7:09 PM, Chad Huneycutt
<chad.huneyc...@gmail.com> wrote:
> I'm really digging hiera, but I have a problem that I just can't seem
> to work out:
>
> I am working on a puppet module, and I have two classes: puppet::agent
> and puppet::master.  The layout of the classes are very similar, but
> hiera can only successfully find my variables in one of them.
>
> $confdir/environments/development/
>        hieradata/
>            common.json
>            modules.json
>        modules/
>               puppet/
>                     manifests/
>                         init.pp
>                         data.pp
>                         agent.pp
>                         master.pp
>                         agent/
>                             data.pp
>                         master/
>                             data.pp
>        nodes/
>        site.pp
>
>
> agent.pp:
>
> --------------
> class puppet::agent(
>  $bindir           = hiera('puppet_agent_bindir'),
>  $confdir         = hiera('puppet_agent_confdir'),
>  $configfile      = hiera('puppet_agent_configfile'),
>  ...
> ) {
>   ...
> }
> ---------------------
>
> agent/data.pp
>
> -------------------
> class puppet::agent::data {
>  $puppet_agent_bindir         = '/usr/bin'
>  $puppet_agent_confdir        = '/etc/puppet'
>  $puppet_agent_configfile     = 'puppet.conf'
>  ...
> }
> ----------------
>
> When I include puppet::agent, the manifest compiles fine, finds the
> default values in agent/data.pp, and all is well.  The master
> configuration is the same:
>
>
> master.pp
>
> --------------
> class puppet::master(
>  $confdir           = hiera('puppet_master_confdir'),
>  $bindir             = hiera('puppet_master_bindir'),
>  $configfile        = hiera('puppet_master_configfile'),
>  ...
> ) {
>   ...
> }
> -----------------------
>
> master/data.pp
>
> ----------------------
> class puppet::master::data {
>  $puppet_master_confdir           = '/etc/puppet'
>  $puppet_master_bindir            = '/usr/bin'
>  $puppet_master_configfile        = 'puppet.conf'
>  ...
> }
> ---------------------------
>
> But when I include puppet::master, the catalog fails to compile,
> because hiera cannot find the values:
>
> -----------------
> Could not find data item puppet_master_confdir in any Hiera data file
> and no default supplied at
> /etc/puppet/environments/development/modules/puppet/manifests/master.pp:71
> on node foo.bar.org
> -----------------
>
> When generating the catalog for the agent, I see this in the puppet output:
>
> -----------------
> debug: hiera(): Hiera Puppet backend starting
> debug: hiera(): Looking up puppet_agent_bindir in Puppet backend
> debug: hiera(): Looking for data in data::nodes/foo
> debug: importing
> '/etc/puppet/environments/development/modules/puppet/manifests/agent/data.pp'
> in environment development
> debug: importing
> '/etc/puppet/environments/development/modules/puppet/manifests/data.pp'
> in environment development
> debug: hiera(): Looking for data in data::modules-rh
> debug: hiera(): Looking for data in data::modules
> debug: hiera(): Looking for data in data::common
> debug: hiera(): Looking for data in puppet::agent::data
> debug: hiera(): Found data in class puppet::agent::data
> ------------------
>
> The same section of output looks the same when compiling the master,
> only the very last line is missing. Does that mean that the puppet
> backend cannot parse the master/data.pp file?  I've stared at it until
> my eyes crossed, and I don't see anything wrong.  I am going to
> simplify my classes and see what I come up with, but I am pretty
> baffled at this point.
>
>
> Thanks for any help,
>    Chad



-- 
Chad M. Huneycutt

-- 
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