On Thursday, 15 March 2012 21:58:01 UTC+1, Florian Koch 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.
>
> Just on that last point is it a bug that $calling_module is not set within 
a define and so can't be used in the 
hiera search path when defines are being used? I think so I'll submit 
it shortly unless there is comment.

It seems you can however use $modue_name in a hiera search path and this is 
passed to hiera from puppet okay.

Not sure of the difference between $module_name and $calling_module but 
former goes against the hiera examples
of course.

Steve.



 

> 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.koch1...@googlemail.com> 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.
>>> 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.
>>>
>>
>>
>>
>> -- 
>>
>> Gary Larizza
>> Professional Services Engineer
>> Puppet Labs
>>
>>  
On Thursday, 15 March 2012 21:58:01 UTC+1, Florian Koch 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.koch1...@googlemail.com> 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.
>>> 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.
>>>
>>
>>
>>
>> -- 
>>
>> Gary Larizza
>> Professional Services Engineer
>> Puppet Labs
>>
>>  
On Thursday, 15 March 2012 21:58:01 UTC+1, Florian Koch 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.koch1...@googlemail.com> 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.
>>> 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.
>>>
>>
>>
>>
>> -- 
>>
>> 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/-/Z-b9ls6o4f0J.
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