Meilleur moyen d'exclure le noeud du manifeste de marionnettes

Je voudrais exclure quelques nœuds d'un manifeste.

J'ai lu " Comment exclure les modules Puppet pour quelques nœuds? ", Mais j'aimerais get quelque chose de similaire à https://groups.google.com/forum/#!topic/puppet-users/CdeIUbMwAM4 :

case $hostname { yourspecialhost: { $doit = false } default: { $doit = true } } if $doit { dowhatshouldbedoneinhere } 

Puisque ce post est un peu vieux (2008), je me demandais s'il y avait un moyen plus court ou plus propre à atteindre le même objective aujourd'hui?

Edit : Nous essayons déjà d'être granulaire car nous avons des modules spécifiques pour le server web ou la database. Dans notre cas particulier, nous avons construit un module il y a des années sur sshd.

Aujourd'hui, je dois créer un server avec une fonctionnalité sshd très rare (et un autre binary). Par conséquent, j'aimerais exclure ce server (et seulement celui-ci) du module sshd.

Est-il possible sans Hiera? Existe-t-il une syntaxe plus propre que celle citée?

Vous voulez probablement get plus de granulomésortinge avec vos classifications. Par exemple, vos modules "catch all" sont inclus dans le nœud par défaut défini dans sites.pp, les modules qui correspondent à certains rôles comme le server Web ou la database pourraient être inclus avec une déclaration de cas et des classificateurs externes, et des modules spécifiques à un server unique pourraient être fait avec hiera ou même l'appariement des noms d'hôte.

http://nuknad.com/2011/02/11/self-classifying-puppet-nodes/ .

Je n'ai trouvé aucune syntaxe plus nette que celle citée (au less n'utilisant pas Hiera).

Par conséquent, j'ai décidé de faire comme cité dans la question.

Je peux confirmer que ça fonctionne mais j'aurais préféré quelque chose de plus propre.

Moralité: lorsque vous écrivez un module de marionnettes, ne faites jamais supposer qu'il s'appliquera à jamais à chaque server dans votre production.

Si je enregistre correctement, bcfg2 gère beaucoup mieux cette situation.