FAQ

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.koch1981@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+unsubscribe@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.koch1981@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+unsubscribe@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.koch1981@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+unsubscribe@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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedMay 14, '12 at 2:46p
activeMay 14, '12 at 2:46p
posts1
users1
websitepuppetlabs.com

1 user in discussion

SteveTraylen: 1 post

People

Translate

site design / logo © 2022 Grokbase