Estoy experimentando con scripts Puppet para la implementación.¿Realmente no hay una manera fácil de probar scripts de títeres en una máquina remota?
Encuentro que la parte más difícil del proceso de escritura de esos scripts es la prueba iterativa de ellos.
No quiero puppet apply
en mi máquina de desarrollo local, que puede estropear cosas. Tengo una caja remota de pizarra limpia donde quiero aplicar. Tampoco veo cómo un titiritero puede ayudarme; Puede que esté usando un titiritero en un punto posterior para implementaciones de producción, pero por ahora, solo quiero que mi código funcione.
Así que armé un guión de shell rápido que sincronizaría los diferentes directorios de mi ruta de módulo local de marionetas a/tmp en la máquina remota, y luego ejecutaría puppet apply
. Esto es terriblemente inconveniente. Es lento, especialmente si estamos hablando de un error de sintaxis.
Creo que lo que quiero realmente es algo así como un titiritero < -> conexión puppetmaster, donde puppetd en la máquina remota recibe un manifiesto ya compilado. Sólo un adhoc-one sobre una conexión SSH, sin tener que configurar realmente un Puppetmaster, que trata de certificados, etc. puppet apply [email protected]
.
Parece que no hay nada por el estilo, pero ¿cómo lo hacen otras personas con esto? La experiencia de trabajar en un guion de Marioneta es increíblemente frustrante para mí, tal como es.
Parece ser que no entiende bien que comenzar un daemon titiritero es difícil, ya que todo lo que usted describe apunta simplemente al uso de un titiritero. La mayoría de las distribuciones tienen un paquete tipo títere-servidor, lo instala, los certificados no son una molestia; solo los firma una vez. A continuación, puede volver a ejecutar el agente puppetd/puppet en el cliente o usar títeres kick para hacerlo de forma remota. Pruébalo, digo. –
Otras sugerencias son usar tanto para '' puppet parser validate'' (o 'puppet --parseonly' en versiones muy antiguas) para encontrar errores de sintaxis, títere-lint para encontrar otros problemas de nivel superior y considerar escribir pruebas para sus manifiestos. ver [Verificación de Puppet: comprobación de la sintaxis y escritura de pruebas automatizadas] (http://puppetlabs.com/blog/verifying-puppet-checking-syntax-and-writing-automated-tests/) –
¿Ha intentado ejecutar 'puppet --noop --test', que efectivamente realiza un recorrido en seco en una máquina? Si bien la naturaleza de los scripts puede provocar que ciertas condiciones que son interdependientes fallen en ciertos casos extremos (por ejemplo, usar heurística basada en contenido, resultados de ejecutivos, etc.), debe proporcionarle una visión significativa de cómo se ejecutará el script.Encuentro este método muy útil para experimentar con cambios manifiestos en los que los recursos están relacionados: Puppet no tiene un orden de ejecución fijo sin restricciones de recursos extremadamente ajustadas, cada ejecución en seco puede producir un orden diferente. – plasmid87