Como definir alguns nós na pausa / espera / noop?

5

existe uma opção para definir um nó em espera (configurá-lo no noop), no lado do mestre de fantoches? Eu estou procurando uma configuração como no exemplo abaixo. cada nó que tem uma variável chamada noop definida como true em sua definição, não será atualizada.

então o exemplo1.node.com não terá o arquivo test1 depois que vários clientes de fantoches forem executados, mas o example2.node.com terá o arquivo.

existe tal opção? existe outra abordagem? (claro que eu posso simplesmente adicionar um "_" ao nome do nó e ele irá parar de corresponder. Estou procurando o caminho oficial.

node "example1.node.com"
{
    $noop = true
    file 
    {
        "/root/test1":
            content => "test",
            ensure => present,
    }
}

node "example2.node.com"
{
    file 
    {
        "/root/test1":
            content => "test",
            ensure => present,
    }
}
    
por c33s 25.06.2012 / 01:28

2 respostas

1

Eu não encontrei uma maneira de definir noop na definição do nó, de modo que eu veria as alterações no cliente (como o agente cliente foi executado com --noop), mas a maneira mais rápida de desativar um nó era :

Adicionando um sublinhado na frente do nome do nó, como _example1.node.com que make impedirá que o nó seja correspondido por é fqdn, então a configuração padrão será aplicada se existir um (ver comentário de @GargantuChet)

node "_example1.node.com"
{
    file 
    {
        "/root/test1":
            content => "test",
            ensure => present,
    }
}
    
por 02.12.2012 / 14:10
2

Uma abordagem comum é usar um classificador de nó externo para anexar classes e / ou atributos a nós usando sua própria lógica de negócios. Está documentado no link

Se você quiser evitar aplicar algo em seu arquivo, adicione algo assim em site.pp :

if $noop == true {
  fail('noop, I don't do anything!')
}

Um pouco mais avançado. Se você quiser que o fantoche evite aplicar seus manifestos se o / etc / noop existir no sistema, você pode criar um fato personalizado :

Facter.add('noop') { setcode { File.exists? '/etc/noop' } }

use em site.pp :

if $::noop == true {
  fail('noop, I don't do anything!')
    
por 04.07.2012 / 02:33

Tags