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