Buenas hoy os traigo un poco mas de docker, por que lo he llamado stromboli pues por que tenemos puppet que es marioneta , tenemos gepetto que es su ide, pues ahora tenemos stromboli un personaje de pinocho

En este post voy a poner como hacer un contenedor para probar nuestros módulos de puppet sin ensuciar nada.

Para ello lo primero que tenemos que tener instalado es docker

Luego compilamos el contenedor apartir de este dockerfile

FROM iuscommunity/centos6
RUN yum install -y puppet
RUN yum install -y wget 
RUN mkdir /opt/modules
ENV modules "/opt/modules"
ENV class "vanilla"
ENTRYPOINT /usr/bin/puppet apply --modulepath=${modules} -e "include ${class}"

Compilamos

docker build -t puppet-centos .

Ahora ya tenemos listo nuestro contenedor ahora lo lanzamos de la siguiente manera

docker run -it -v "carpeta del modulo":/opt/modules/"nombre del modulo" -e class="clase del modulo"  puppet-centos

Y el resultado es el siguiente

docker run -it -v ~/puppet_modules/puppet/ntp:/opt/modules/ntp -e class="ntp"  puppet-centos            
notice: /Stage[main]/Ntp/Package[ntp]/ensure: created
notice: /Stage[main]/Ntp/File[ntp_conf]/content: content changed '{md5}7fda24f62b1c7ae951db0f746dc6e0cc' to '{md5}d8ef2484293860057ad3dff8b4d3233f'
err: /Stage[main]/Ntp/Service[service_ntp]/ensure: change from stopped to running failed: Could not start Service[service_ntp]: Execution of '/sbin/service ntpdate start' returned 1:  at /opt/modules/ntp/manifests/init.pp:44
notice: /Stage[main]/Ntp/Service[service_ntp]: Triggered 'refresh' from 1 events
notice: Finished catalog run in 113.73 seconds

Como veis con esto puedo ver que el modulo tiene algo incorrecto sin ensuciar mi sistema.

Para testeas varias clases pondremos las clases separadas por comas con en el ejemplo

-e class="ntp, ntp::service, ntp::config"

Con esto ya estaria todo ahora a probar modulos

Deja un comentario