Kami memiliki lingkungan produksi yang dikonfigurasi dengan Puppet, dan ingin dapat membuat lingkungan yang serupa pada mesin pengembangan kami: campuran Red Hats, Ubuntus dan OSX. Seperti yang mungkin diharapkan, OSX adalah pria aneh di sini, dan sayangnya, saya mengalami banyak masalah untuk mendapatkan ini berfungsi.
Upaya pertama saya menggunakan macports
, menggunakan deklarasi berikut:
package { 'rabbitmq-server':
ensure => installed,
provider => macports,
}
tetapi ini, sayangnya, menghasilkan kesalahan berikut:
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"
Selanjutnya, saya pikir saya akan homebrew
mencoba. Tidak ada penyedia paket yang tersedia secara default, tetapi boneka-homebrew tampak menjanjikan. Di sini, saya mendapatkan lebih jauh, dan benar-benar berhasil menginstal agar berfungsi.
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"] ],
}
Di sini, saya tidak mendapatkan kesalahan. Tapi RabbitMQ juga tidak memulai (seperti halnya jika saya melakukan pemuatan manual 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
Apa yang saya lakukan salah?
Sunting : Sebagai catatan, kami sekarang melakukan ini dengan Vagrant VMs sebagai gantinya pada mesin OSX kami, tetapi solusi asli masih lebih disukai.
sudo puppet apply manifest.pp
on Puppet 3.0.1, Facter 1.6.16 @JohnSiu: Tidak ada apa-apa di sana, sayangnya.
puppet apply manifest.pp
?