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.

Reply via email to