Mi equipo ha creado una gran cantidad de libros de cocina de chef. Me preguntaba qué métodos y marcos debería analizar para poder comenzar a crear pruebas para asegurar que nuestros nodos estén configurados correctamente.
testing
configuration-management
chef
automated-testing
chef-solo
linusthe3rd
fuente
fuente
Respuestas:
Puede (también) buscar en Vagrant para esto.
Un video muestra cómo usar el combo de libros de cocina Vagrant y Chef. Y hay una página dedicada a Vagrant y Chef en el sitio de Opscode (actualización 2015-01-23: la página se ha ido ...).
fuente
Ahí está la
cucumber-chef
gema de rubíes y un libro publicado recientemente Nelson-Smith et al - "Infraestructura Test-Driven con el Chef" que hace uso de esa gema - http://www.cucumber-chef.org/Acabo de recordar esto de mi lista de observación de github: https://github.com/gregretkowski/vmth/
fuente
Hay varias opciones.
Opscode tiene en la hoja de ruta de desarrollo de Chef soporte "no-op" que ayudará con las pruebas. Nosotros argumentamos que "no-op" no significa necesariamente hacer lo que quiera, pero entendemos el deseo de la función.
fuente
Algunas de las respuestas aquí parecen un poco viejas. Para las pruebas de CI y locales, buscaría aprovechar una herramienta de prueba de arnés como Test Kitchen que también es compatible con Vagrant si ya lo ha estado utilizando.
Le permitirá ejecutar sus coobkooks contra muchas soluciones de nube y virtualizaciones hoy en día: EC2, Digital Ocean, Vagrant, Docker, etc.
También tiene complementos que le permiten ejecutar una de las muchas herramientas de prueba de infraestructura que existen hoy en día:
fuente
En mi experiencia, la única forma de hacerlo es con un entorno de ensayo y prácticas de desarrollo cuidadosas. Hacer una burla del trabajo real por hacer es increíblemente desordenado y frágil, y las suites de pruebas de CI que se ejecutan en commit o push son mucho esfuerzo para escribir y mantener (aunque Chef es probablemente mucho mejor en esto que Puppet, que es mi experiencia principal ), y tomar una cantidad ridícula de tiempo para correr.
EDITAR
Justo después de escribir esto, de repente me di cuenta de que podría haber una manera de hacer pruebas de "unidad" razonablemente eficientes de recetas de Chef / Puppet con un sistema de archivos de unión y una cantidad significativa de andamios. Sin embargo, no puedo encontrar nada que alguien haya hecho en esta área. Podría haberme encontrado un proyecto.
fuente