Tenemos un entorno de producción configurado con Puppet, y queremos poder configurar un entorno similar en nuestras máquinas de desarrollo: una mezcla de Red Hats, Ubuntus y OSX. Como era de esperar, OSX es el hombre extraño aquí, y lamentablemente, estoy teniendo muchos problemas para que esto funcione.
Mi primer intento fue usar macports
, usando la siguiente declaración:
package { 'rabbitmq-server':
ensure => installed,
provider => macports,
}
pero esto, lamentablemente, genera el siguiente error:
Error: /Stage[main]/Rabbitmq/Package[rabbitmq-server]: Could not evaluate: Execution of '/opt/local/bin/port -q installed rabbitmq-server' returned 1: usage: cut -b list [-n] [file ...]
cut -c list [file ...]
cut -f list [-s] [-d delim] [file ...]
while executing
"exec dscl -q . -read /Users/$env(SUDO_USER) NFSHomeDirectory | cut -d ' ' -f 2"
(procedure "mportinit" line 95)
invoked from within
"mportinit ui_options global_options global_variations"
A continuación, pensé que lo homebrew
intentaría. No hay un proveedor de paquetes disponible por defecto, pero puppet-homebrew parecía prometedor. Aquí, llegué mucho más lejos, y de hecho logré que la instalación funcionara.
package { 'rabbitmq':
ensure => installed,
provider => brew,
}
file { "plist":
path => "/Library/LaunchDaemons/homebrew.mxcl.rabbitmq.plist",
source => "/usr/local/opt/rabbitmq/homebrew.mxcl.rabbitmq.plist",
ensure => present,
owner => root,
group => wheel,
mode => 0644,
}
service { "homebrew.mxcl.rabbitmq":
enable => true,
ensure => running,
provider => "launchd",
require => [ File["/Library/LaunchDaemons/homebrew.mxcl.rabbitmq.plist"] ],
}
Aquí no recibo ningún error. Pero RabbitMQ tampoco se inicia (como lo hace si hago una carga manual con launchctl
)
[... snip ...]
Debug: Executing '/bin/launchctl list'
Debug: Executing '/usr/bin/plutil -convert xml1 -o /dev/stdout
/Library/LaunchDaemons/homebrew.mxcl.rabbitmq.plist'
Debug: Executing '/usr/bin/plutil -convert xml1 -o /dev/stdout
/var/db/launchd.db/com.apple.launchd/overrides.plist'
Debug: /Schedule[weekly]: Skipping device resources because running on a host
Debug: /Schedule[puppet]: Skipping device resources because running on a host
Debug: Finishing transaction 2248294820
Debug: Storing state
Debug: Stored state in 0.01 seconds
Finished catalog run in 25.90 seconds
¿Qué estoy haciendo mal?
Editar : Para el registro, ahora estamos haciendo esto con máquinas virtuales de Vagrant en nuestras máquinas OSX, pero la solución nativa aún sería preferible.
sudo puppet apply manifest.pp
en Puppet 3.0.1, Facter 1.6.16 @JohnSiu: Nada allí tampoco, lamentablemente.
puppet apply manifest.pp
?