Erro ao aplicar o modulepath puppet?

1

Aqui está um trecho do meu /etc/puppet/puppet.conf

[main]
modulepath = /etc/puppet

Quando tento usar esse caminho em um arquivo init.pp , recebo um erro

etc/puppet/modules/fangs/manifests# puppet apply init.pp
err: /Stage[main]//File[/tmp/test]: Could not evaluate: Could not retrieve information
from environment production source(s) puppet:///modules/fangs/files/sample.txt at /etc/puppet/modules/fangs/manifests/init.pp:7
notice: Finished catalog run in 0.05 seconds

Aqui está o conteúdo do meu arquivo init.pp

file { '/tmp/test':
    ensure => file,
    mode => '0777',
    source => "puppet:///modules/fangs/files/sample.txt",
#    source => "/etc/puppet/modules/fangs/files/sample.txt",
}

Ele é executado corretamente quando eu uso a fonte comentada source => "/etc/puppet/modules/fangs/files/sample.txt", com o caminho completo do arquivo em vez do puppet:// modulepath.

Como posso consertar meu modulepath para garantir que isso funcione corretamente?

    
por user784637 21.08.2013 / 01:18

2 respostas

2

A menos que você queira personalizar o layout da sua pasta modules , não é necessário definir modulepath em /etc/puppet.conf . Se você deixá-lo sozinho, os padrões mais comuns são /etc/puppet/modules:/usr/share/puppet/modules (na versão de código aberto) ou /etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules (no Puppet Enterprise). Se esse não for o seu caso, defina:

modulepath=/etc/puppet/modules

As informações de Shane Madden estão corretas, mas não funcionarão com sua configuração atual de modulepath , porque o fantoche procurará seus módulos diretamente sob /etc/puppet . A menos que você queira colocá-los lá (o que você provavelmente não faz), você precisa corrigir o modulepath e usar:

source => "puppet:///modules/fangs/sample.txt",

como Shane sugeriu.

    
por 21.08.2013 / 03:37
5

Ao usar um caminho puppet:// , os "arquivos" estão implícitos.

Em vez disso, tente:

source => "puppet:///modules/fangs/sample.txt",
    
por 21.08.2013 / 01:47

Tags