Usando Chocolatey como provedor de pacotes para Puppet

Usando Chocolatey como provedor de pacotes para Puppet

Estou tentando usar Chocolatey (http://chocolatey.org) como provedor de pacotes para o Puppet, mas recebo esse erro continuamente ao executar o agente Puppet na minha caixa do Win 7.

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,https://github.com/rismoney/puppet-chocolatey, em meu diretório module/ no meu Puppet master, tenho pluginsync definido como true no mestre e no escravo - e já estou usando alguns tipos importados que estão funcionando 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, caso fosse um problema de cotação, 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 - mas não este.

Alguma ideia?

Responder1

Na verdade, parece ser um bug do Puppet - estou usando ambientes dinâmicos, então meu módulo foi originalmente colocado em /etc/puppet/environments/beta/chocolatey/ mas quando movi o módulo para /etc/puppet/modules então ele trabalhado.

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

Parece que o módulo funciona muito bem - pode haver algumas peculiaridades, se eu encontrar alguma, irei corrigi-lo e enviar uma solicitação pull.

Responder2

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

O fornecedor Chocolatey (agora localizado emachocolatado / achocolatado), requer a instalação do próprio Chocolatey. Desde o lançamento dev1.1.0, o provedor realmente cuidará da instalação do Chocolatey. Você só precisa adicionar o seguinte em algum lugar dos seus manifestos:

include chocolatey

Se você quiser entrar em mais cenários relacionados à aula de chocolate, você podeveja os parâmetros disponíveis no 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,
}

informação relacionada