Need some assistance with what I believe is a requirement that can be
solved using Exported Resources (or maybe there is another method which is
better suited).
I have a module svn::server::init. This module can be called with a
parameter is_master which defines whether it is a master SVN server or a
slave SVN system. What I need to be able to do is report back all the nodes
that are called with is_master = false so that the master is aware of all
the slaves.
The solution I had some up with was the following:
if $is_master {
File <<| tag == ''svn_slave''
|>> { }
} else {
@@file {
"$svn::params::c_path/slave.$hostname":
content => "hostname = $fqdn\nip =
$ipaddress\n",
tag => ''svn_slave'',
}
}
So basically what that does is export a file /etc/subversion/slave.HOSTNAME
for every client. The master then realizes those and creates a file for
each client in /etc/subversion. That works pretty well. But my issue is
that I need to use the hostname/FQDN of each client in a template
(generating hooks to mirror the repos to each slave that is out there).
Thinking of how to do this I thought well I could write a FACT that then
parses those /etc/subversion/slave.HOSTNAME files. Is that the best way to
do that? Or is there a way through exporting a resource that I could get
the details directly in my manifest? If I wrote a fact to do it I would
essentially have to run puppet twice in order to spin up a new slave. First
run would create the /etc/subversion/slave.HOSTNAME file and second run
that would be included in the fact (first run it wouldn''t because the
file
didn''t exist yet).
Thanks for your help
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscribe@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.