Usando Chocolatey como um provedor de pacote para Puppet

4

Estou tentando usar o Chocolatey ( link ) como um provedor de pacotes para o Puppet, mas sempre recebo esse erro ao executar o agente Puppet no meu computador. Win 7 box.

info: Caching catalog for ldap-windows-vm.localdomain
err: Failed to apply catalog: Parameter provider failed: Invalid package provide
r 'chocolatey' at /etc/puppet/environments/beta/modules/stormaas/manifests/init.
pp:9

Eu coloquei este módulo, link , no meu diretório modules / no meu mestre Puppet, eu tenho pluginsync set para true tanto no mestre quanto no escravo - e já estou usando alguns tipos importados que estão trabalhando com a mesma configuração.

Chamando o pacote com:

  package { 'stormaas':
    ensure   => installed,
    provider => 'chocolatey',
  }

Eu tentei com o provedor definido como 'chocolatey' e chocolatey no caso de ser um problema de cotação e reiniciei o mestre e o escravo em cada alteração e executei o agente várias vezes para garantir que ele fosse atualizado.

Todos os outros aspectos do módulo que está sendo aplicado à máquina funcionam - apenas isso não.

Alguma opinião?

    
por TJ Biddle 16.10.2012 / 23:15

2 respostas

2

Isso parece ser um bug Puppet - estou usando ambientes dinâmicos, então meu módulo foi originalmente colocado em / etc / puppet / environments / beta / chocolatey / mas quando mudei o módulo para / etc / puppet / módulos, então funcionou.

O interessante é que os tipos personalizados funcionaram bem no ambiente, mas os provedores personalizados não conseguiram sincronizar.

O módulo funciona muito bem - Pode haver algumas peculiaridades, se eu encontrar qualquer um, eu vou corrigi-lo e enviar um pedido de pull.

    
por 17.10.2012 / 22:27
1

Depois de passar pelos problemas com o modulepath, aqui estão mais algumas informações relacionadas a outros problemas que podem surgir e como resolvê-los.

O provedor Chocolatey (agora localizado em chocolatey / chocolatey ), requer que o Chocolatey seja instalado. Desde o lançamento de v1.1.0 , o provedor realmente cuidará de garantir Chocolatey está instalado. Você só precisa adicionar o seguinte em algum lugar em seus manifestos:

include chocolatey

Se quiser entrar em mais cenários relacionados à classe chocolatey, você pode ver os parâmetros disponíveis em o Leiame . Exemplo incluído:

class {'chocolatey':
  chocolatey_download_url => 'https://internalurl/to/chocolatey.nupkg',
  choco_install_location => 'D:\secured\choco',
  use_7zip => false,
  choco_install_timeout => 2700,
  enable_autouninstaller => true,
}
    
por 10.09.2015 / 15:50