puppet onlyif nodes especificados

2

Estou tentando escrever um modelo de marionete. Eu tenho um mestre de marionetes e alguns agentes de marionetes e todos eles devem ser divididos. Eu acho que é bom fazer isso pelo nome do host do nó. Mas quando tentei fazer isso, encontrei um erro

"puppet-agent[169037]: (/Stage[main]//Exec[adduser]) Could not evaluate: Could not find command 'ru1'"

veja o código abaixo

exec { 'adduser': 
        command => 'sudo adduser -m -p pawSfQewWrUAA test -G wheel',
        path => [ '/bin','/usr/bin' ],
        onlyif => "$hostname == ru1"
}

Eu preciso especificar essa tarefa para apenas um nó com o nome de host ru1. Então, posso fazer isso? Obrigado.

    
por Valintinr 30.05.2012 / 15:38

2 respostas

7

Isso não seria muito mais fácil e sensato?

case $hostname {
    ru1: user {
             ensure => 'present',
             name => 'test',
             gid => 'wheel',
             password => 'pawSfQewWrUAA',
             otherparametersgohere,
             }
}

A sintaxe de código pode não ser perfeita, já que isso foi apenas fora da minha cabeça, não verificando a sintaxe ou testando isso de alguma forma. Mas você entendeu a ideia.

    
por 30.05.2012 / 15:51
1

Só se espera que um comando shell seja executado, e não uma condição como a que você tem, o que deve ser um caso.

    
por 30.05.2012 / 15:43

Tags