Ahh, Good catch - thanks for replying back with the fix
-Gary On Fri, Mar 16, 2012 at 7:58 AM, Florian Koch < [email protected]> wrote: > Hi Gary, > > hm for other classes it works , so i think the puppet backend is not > needed > ( > https://github.com/ripienaar/hiera-puppet/commit/a7350529a99e5d1bad8b03749661f3f4c7f00216 > ), > the problem is the define, i guess that a define won't set $module_path > correct, the hiera cass from the class tocat::instance works perfect. > > But i have found better solution, i use create_resources to build the > defines, works really smart > > > class tomcat::instance{ > > $instances = hiera('tomcat_instances') > > create_resources('tomcat::installer',$instances) > } > define tomcat::installer ($user,$group,$basedir,$logdir,$name){ ....} > --- > tomcat_instances: > crowd1: > name: 'cr1' > > basedir: '/srv' > logdir: '/var/log' > user: 'crowd' > group: 'crowd' > > crowd2: > name: 'cr2' > > basedir: '/srv' > logdir: '/var/log' > user: 'crowd' > group: 'crowd' > > > rgds Florian > Am Donnerstag, 15. März 2012 21:33:17 UTC+1 schrieb Gary Larizza: > >> Hi Florian, >> >> I believe since $calling_module is a variable out of Puppet and not >> Facter, that you will need to ALSO setup the Puppet backend, in addition to >> the YAML backend, in the hiera.yaml file so Hiera can get its value. >> >> On Fri, Mar 16, 2012 at 6:47 AM, Florian Koch < >> florian.koch1981@googlemail.**com <[email protected]>>wrote: >> >>> Hi, >>> >>> i have some trouble with hiera and %{calling_module}. >>> >>> i have: >>> >>> class tomcat::instance{ >>> >>> $instances = hiera('tomcat_instances') >>> >>> tomcat::installer{$instances:} >>> >>> } >>> >>> define tomcat::installer { >>> >>> require 'tomcat' >>> >>> $instance_opts = hiera($name) >>> >>> $tomcat_user = $instance_opts[user] >>> $tomcat_group = $instance_opts[group] >>> $basedir = $instance_opts[basedir] >>> $logdir = $instance_opts[logdir] >>> $tomcat_name = $instance_opts[name] >>> >>> >>> $tomcat_version='6' >>> ... >>> } >>> >>> i specify the tomcat names in a hiera file and run the define wit the >>> names as array (so they get executed for each name) >>> >>> '/var/lib/environments/test/**hieradata'/tomcat/crowd.yaml >>> >>> --- >>> tomcat_instances: >>> - crowd1 >>> - crowd2 >>> >>> >>> crowd1: >>> name: 'crowd1' >>> basedir: '/srv' >>> logdir: '/var/log' >>> user: 'crowd' >>> group: 'crowd' >>> >>> crowd2: >>> name: 'crowd2' >>> basedir: '/srv' >>> logdir: '/var/log' >>> user: 'crowd' >>> group: 'crowd' >>> >>> my hiera.yaml >>> --- >>> :hierarchy: >>> - %{calling_module}/%{fqdn} >>> - %{hostbasename} >>> - %{domain} >>> - common >>> :backends: >>> - yaml >>> :yaml: >>> :datadir: '/var/lib/environments/%{**environment}/hieradata' >>> >>> >>> if i wrote the crowd.yaml content in the common.yaml all works, if its >>> in the module subdirectory, puppet can not find the data from the hiera >>> lookup in the tomcat::installer, but the call from the tomcat::instance >>> class works, i get the right tomcat names in the error. >>> >>> any idea? >>> >>> rgds Florian >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Puppet Users" group. >>> To view this discussion on the web visit https://groups.google.com/d/** >>> msg/puppet-users/-/**ZjdL5rHQxBYJ<https://groups.google.com/d/msg/puppet-users/-/ZjdL5rHQxBYJ> >>> . >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to puppet-users+unsubscribe@* >>> *googlegroups.com <puppet-users%[email protected]>. >>> For more options, visit this group at http://groups.google.com/** >>> group/puppet-users?hl=en<http://groups.google.com/group/puppet-users?hl=en> >>> . >>> >> >> >> >> -- >> >> Gary Larizza >> Professional Services Engineer >> Puppet Labs >> >> -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/puppet-users/-/c8Qv0i9cwEUJ. > > 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. > -- Gary Larizza Professional Services Engineer Puppet Labs -- 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.
