tl; dr:
- Verifique se o módulo provedor de marionetes está instalado e no caminho do módulo.
- Verifique se a ferramenta de terceiros subjacente também está instalada. Isso pode ser tratado pelo próprio módulo adicionando
include cpanm
ao (s) seu (s) manifesto (s).
Detalhes
Você deve ter o módulo do provedor instalado e no modulepath
para ver o Puppet isso.
Usar um provedor sempre passa por uma verificação de adequação , que você pode ver na comandos / confines do provedor:
confine :exists => ['/usr/bin/cpanm', '/usr/bin/perldoc']
commands :cpanm => '/usr/bin/cpanm'
Adequação significa que o provedor declara que os itens acima precisam existir para que o provedor esteja ativo. Há uma mensagem que informa quando um provedor não é adequado que aparece quando você executa o Puppet com --debug --verbose
, feito em um Vagrantfile assim:
config.vm.provision :puppet, :options => ["--debug --trace --verbose"] do |puppet|
#other settings here
end
Exemplo de trabalho
Para um exemplo completo de uso de um provedor de pacotes de terceiros (Chocolatey), consulte
No entanto, agora que o provedor Chocolatey pode manipular a própria instalação, ele se torna tão simples quanto garantir que o provedor esteja instalado e, em seguida, incluir o seguinte no manifesto:
include chocolatey
Voltando ao ciclo completo, parece que o cpanm também pode gerenciar a própria instalação :
include cpanm