O Puppet usa o nome do host como um valor variável

2

Eu tenho essa função simples:

define e::x($x = $title) {
  file {$x:
    path => "/tmp/${x}",
    ensure => present,
  }
}

Eu uso assim:

e::x {"xxxx":}

No entanto, o arquivo criado é / tmp / "hostname", como debian-vm ou algo assim. NUNCA usa o valor correto.

Eu não entendi o que há de errado, alguém tem alguma dica?

Obrigado.

EDITAR

Então, depois de mais alguns testes, parece que o $ x = $ title não funciona. Se eu usar diretamente $ title, funciona.

Isso é estranho, já que tenho certeza que já usei esse padrão em outro servidor sem problemas.

Talvez isso tenha a ver com a minha versão do Puppet. Eu corro a versão empacotada do Puppet no Debian Squeeze. Pode haver um bug.

    
por Vincent Rischmann 18.04.2013 / 15:43

1 resposta

1

Pacotes do Debian Squeeze Puppet 2.6.2 - a variável $title não funcionará como valor padrão do parâmetro.

De acordo com a observação do exemplo aqui , o item 2.6.5 é necessário para o comportamento esperado.

    
por 19.04.2013 / 08:30

Tags