Uso de Chocolatey como proveedor de paquetes para Puppet

Uso de Chocolatey como proveedor de paquetes para Puppet

Estoy intentando usar Chocolatey (http://chocolatey.org) como proveedor de paquetes para Puppet, pero recibo este error continuamente cuando ejecuto el agente Puppet en mi equipo 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

He colocado este módulo,https://github.com/rismoney/puppet-chocolatey, en mi directorio module/ en mi Puppet master, tengo pluginsync configurado en verdadero tanto en el maestro como en el esclavo, y ya estoy usando algunos tipos importados que funcionan con la misma configuración.

Llamando al paquete con:

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

Lo intenté con el proveedor configurado en 'chocolatey' y chocolatey en caso de que fuera un problema de comillas, reinicié tanto el maestro como el esclavo en cada cambio y ejecuté el agente varias veces para asegurarme de que se actualizara.

Todos los demás aspectos del módulo que se aplica a la máquina funcionan, pero este no.

¿Alguna idea?

Respuesta1

En realidad, esto parece ser un error de Puppet: estoy usando entornos dinámicos, por lo que mi módulo se colocó originalmente en /etc/puppet/environments/beta/chocolatey/ pero cuando moví el módulo a /etc/puppet/modules entonces trabajó.

Lo interesante es que los tipos personalizados funcionaron bien en el entorno, pero los proveedores personalizados no pudieron sincronizarse.

Parece que el módulo funciona muy bien. Puede haber algunas peculiaridades, si encuentro alguna, lo parchearé y enviaré una solicitud de extracción.

Respuesta2

Una vez que haya superado los problemas con modulepath, aquí encontrará más información relacionada con otros problemas que podrían surgir y cómo resolverlos.

El proveedor Chocolatey (ahora ubicado enchocolateado/chocolatado), requiere la instalación del propio Chocolatey. Desde la liberación dev1.1.0, el proveedor se encargará de garantizar que Chocolatey esté instalado. Sólo necesitas agregar lo siguiente en algún lugar de tus manifiestos:

include chocolatey

Si quieres profundizar en más escenarios relacionados con la clase de chocolate, puedesver los parámetros disponibles en el Léame. Ejemplo incluido:

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,
}

información relacionada