Agregando Razor a una instalación existente de Puppet.

Hace ya varios meses que EMC anuncio que esta trabajando con PuppetLabs para crear un software de aprovisionamiento tanto para VM como para PM (Physical Machines).

Muy emocionado, ya que tenia una instalación de Puppet funcionando en mi red y administrando varios nodos. Cuando digo administrando, no es la gran cosa, desde Puppet actualmente puedo crear usuarios, configurar servicios (ssh, bind, rsync y otros) todo centralizado, muy geek!

Lo primero que hice fue leer un step-by-step creado en pureVirtual.eu, creo que es el mejor material para quienes no han usado Puppet y no concen Razor aun.

http://purevirtual.eu/2012/07/02/how-to-get-started-with-razor-and-puppet-part-1/

Al actualizar mi versión de Puppet que estaba algo vieja y no tenia el modulo para instalar desde forge.puppetlabs.com solo tuve que hacer lo siguiente:

puppet module install puppetlabs-razor

También asegurarnos de que todo el directorio de /etc/puppet pertenece al usuario con ese mismo nombre.

chown -R puppet:puppet /etc/puppet/modules

 

Ya deberíamos tener un Razor listo para bootear maquinas por PXE. Otra cosa a tener en cuenta es que el modulo de SUDO que tiene como dependencia Razor elimina todo lo que tenemos en ese software y nos dejaría fuera del sudoers, para resolverlo hacer lo siguiente:

echo "jonas ALL=(ALL) ALL" > /etc/sudoers.d/20_TU-USUARIO
chmod 440 /etc/sudoers.d/20_TU-USUARIO

Luego de tener todo listo, que tal si instalas ESXi usando Razor?
http://www.virtuallyghetto.com/2012/05/how-to-deploy-esxi-5-using-razor-puppet.html



Aqui el puppet module list de la instalación existente de Puppet + Razor:


mom:/home/ariel# puppet module list
/etc/puppet/modules
âââ aredan-sshd (v0.0.1)
âââ basesytem (???)
âââ camptocamp-rsyncd (v0.0.1)
âââ ntp (???)
âââ puppetlabs-apache (v0.0.4)
âââ puppetlabs-apt (v0.0.4)
âââ puppetlabs-firewall (v0.0.4)
âââ puppetlabs-mongodb (v0.0.2)
âââ puppetlabs-nodejs (v0.2.0)
âââ puppetlabs-razor (v0.1.4)
âââ puppetlabs-stdlib (v2.3.3)
âââ puppetlabs-tftp (v0.1.1)
âââ puppetlabs-vcsrepo (v0.0.4)
âââ saz-dnsmasq (v1.0.0)
âââ saz-sudo (v2.0.2)
âââ user (???)
âââ vim (???)
mom:/home/ariel#