Hi,
What you'll need is some way to classify nodes, I do this through Hiera.
Per node I have a yaml file named after the host: hostname.yaml with the
following:
---
roles:
- '::role::somerole'
In manifests/site.pp I only define one node, the default:
node default {
hiera_include('roles', [])
}
Now when hostname checks in it will hit node default and a hiera lookup
will be done for an array named 'roles', which I just defined in the yaml
file. If it's found those roles, which are actually a puppet module, are
included on the host/in the catalog and get applied. If not we return an
empty array so nothing happens, you can also chose not to provide a default
in which case it will error.
As for how to organise roles and profile in Puppet, Craig Dunn has a very
nice post that should get you started:
http://www.craigdunn.org/2012/05/239/
--
Daniele Sluijters
On Friday, 25 October 2013 19:08:39 UTC+2, Steven Jonthen wrote:
>
> Hi guys,
>
> I want realise a role-based puppet-configuration. What I mean is this:
> There should be a simple external text-file, which contains "hostname/node
> --> role" association.
> Then there should be a class-definition for each role. In this way, I want
> to associate a server with different roles.
> In this way, Puppet should look for the hostname of the Puppet-Agent in
> the external file and see what roles it should have and then
> execute the role-classes.
>
> I hope I could explain my problem. The problem is, that I've no idea how
> to realise it.
> Please 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.