Baptiste Grenier
2011-Oct-26 08:14 UTC
[Puppet Users] Exporting variables between manifests/nodes
Hello,
Here is what I am trying to do:
- in a class aptdater::client I want to export the $fqdn
- in a class aptdater::master I want to retrieve all the exported $fqdn
to fill an erb template of a configuration file
Here is what I tried:
# modules/aptdater/manifests/init.pp
class aptdater {
# some not relevant resources
}
# modules/aptdater/manifests/master.pp
class aptdater::master inherits aptdater {
# list of hosts that will be added to the hosts.conf
$hosts = [$fqdn]
(...)
}
# modules/aptdater/manifests/client.pp
class aptdater::client inherits aptdater {
$aptdater::master::hosts += $fqdn
(...)
}
# modules/aptdater/templates/hosts.conf.erb
[Hosts]
Hosts=<% scope.lookupvar(''aptdater::master::hosts'').each do
|i| -%>
<%= i + ";" -%>
<% end -%>
I have two nodes:
# manifests/nodes/master.node.plop.org.pp
node ''master.node.plop.org'' {
include aptdater::master
}
# manifests/nodes/client.node.plop.org.pp
node ''client.node.plop.org'' {
include aptdater::client
}
But it does not work, the Hosts line does only contain the $fqdn of the
master node.
I took a look at exported resource, but here it''s not a resource that I
want to be exported, it''s just a variable/fact.
Is this possible to achieve such a goal?
Thanks,
Baptiste
--
\,,/_[-_-]_\,,/
Start the day with a smile. After that you can be your nasty old self again.