Chúng tôi có một môi trường sản xuất được cấu hình với Puppet và muốn có thể thiết lập một môi trường tương tự trên các máy phát triển của chúng tôi: sự pha trộn của Red Hats, Ubuntus và OSX. Như có thể dự đoán, OSX là người đàn ông kỳ quặc ở đây, và thật đáng buồn, tôi gặp nhiều rắc rối với việc này để hoạt động.
Nỗ lực đầu tiên của tôi là sử dụng macports
, sử dụng khai báo sau:
package { 'rabbitmq-server':
ensure => installed,
provider => macports,
}
nhưng điều này, thật đáng buồn, tạo ra lỗi sau:
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"
Tiếp theo, tôi hình dung tôi sẽ homebrew
thử. Không có nhà cung cấp gói có sẵn theo mặc định, nhưng con rối homebrew dường như đầy hứa hẹn. Ở đây, tôi đã đi xa hơn nhiều, và thực sự đã xoay sở để cài đặt hoạt động.
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"] ],
}
Ở đây, tôi không nhận được bất kỳ lỗi nào. Nhưng RabbitMQ cũng không bắt đầu (giống như khi tôi tải bằng tay 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
Tôi đang làm gì sai?
Chỉnh sửa : Đối với bản ghi, chúng tôi hiện đang thực hiện việc này với máy ảo Vagrant trên các máy OSX của chúng tôi, nhưng giải pháp gốc vẫn được ưu tiên.
sudo puppet apply manifest.pp
trên Puppet 3.0.1, Facter 1.6.16 @JohnSiu: Không có gì ở đó cả, thật đáng buồn.
puppet apply manifest.pp
?