node 'node-slave01' {
include repo::git
include fun::cmatrix
}
node 'node-slave02' {
include repo::hg
include fun::toilet
}
node 'node-slave03' {
include fun::rup
include repo::svn
include fun::cmatrix
}
node 'node-slave04' {
include repo::git
include repo::hg
include repo::svn
include fun::cmatrix
include fun::toilet
}
node /node-slave\d+/ {
include lamp
include test
include fun::rup
include sup
}
Então tudo em /node-slave\d+/
não é executado. Se eu pegar o sup
módulo e colocá-lo em qualquer um dos 4 nós, ele será executado depois que eu escrever sudo puppet agent --test
, mas não se estiver sob o regexp.
Como faço isso se eu quiser que certos nós façam certas coisas, mas há alguns comandos que eu quero que todos eles façam? Escrever include sup
em cada nó parece extremamente irritante.
Puppet corresponde a um nó e, uma vez que faz isso, ele para. O FQDN é o mais alto e funciona até o padrão. Consulte a seção correspondente - https://puppet.com/docs/puppet/4.10/lang_node_definitions.html .
Uma maneira de fazer isso é ter apenas seu nó regex e, em seguida, usar uma instrução case para coisas que são exclusivas de cada nó
node /node-slave\d+/ { include lamp include test include fun::rup include sup
case $::hostname { 'node-slave01': { include repo::git include fun::cmatrix } node-slave02': { include repo::hg include fun::toilet } } }