Falha na cópia de arquivo usando o recurso de arquivo de marionete

1

Estou tentando copiar arquivos usando o recurso de arquivo. Meu código é o seguinte:

node 'Node-002' {
 file { "/root/helloworld.txt":
 ensure => file,
 owner  => "root",
 group  => "root",
 mode   => "0644",
 source  => "puppet://modules/templates/${fqdn}/hosts.erb",
}
}

Mas está falhando com o seguinte erro

Error: /Stage[main]/Main/Node[Node-002]/File[/root/helloworld.txt]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/templates/Node-002.example.com/hosts.erb

A localização do modelo é a seguinte:

  ls -l /apps/wps/puppetlabs/code/environments/production/modules/templates/Node-002.example.com/hosts.erb
 -rw-r--r-- 1 puppet puppet 462 Jul 20 02:13 /apps/wps/puppetlabs/code/environments/production/modules/templates/Node-002.wiley.com/hosts.erb

Mesmo se eu der o caminho completo no parâmetro source , ele está falhando com o mesmo erro.

Estou usando o Puppet 4.5.4

Por favor, sugira

    
por Zama Ques 21.07.2016 / 12:08

1 resposta

5

Seu (s) módulo (s) não parecem estar em conformidade com a estrutura de diretórios padrão. Com um URL de origem de puppet:///modules/foo/bar.txt , o Puppet procurará ${codedir}/environments/production/modules/foo/files/bar.txt . Os arquivos estáticos devem estar em um subdiretório files em seu módulo. Os modelos devem estar em um subdiretório templates em seu módulo e referenciados em um recurso file com content => template('foo/bar.erb') . Parece haver alguma confusão com você usando um modelo ERB como uma fonte que não será processada de forma alguma.

Consulte o link para saber como seus módulos devem ser estruturados.

    
por 21.07.2016 / 12:25