Puppet으로 구성된 프로덕션 환경이 있으며 개발 시스템에서 Red Hats, Ubuntus 및 OSX를 혼합하여 유사한 환경을 설정할 수 있기를 원합니다. 예상대로 OSX는 여기서 이상한 사람이며 슬프게도이 작업을 수행하는 데 많은 문제가 있습니다.
첫 번째 시도는 macports
다음 선언을 사용하여을 사용하는 것입니다.
package { 'rabbitmq-server':
ensure => installed,
provider => macports,
}
그러나 슬프게도 다음과 같은 오류가 발생합니다.
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"
다음에 homebrew
는 시험해 보겠다고 생각했습니다 . 기본적으로 사용 가능한 패키지 공급자는 없지만 꼭두각시 홈브류 는 유망한 것으로 보입니다. 여기서 훨씬 더 멀어졌고 실제로 설치 작업을 수행했습니다.
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"] ],
}
여기에 오류가 없습니다. 그러나 RabbitMQ도 시작하지 않습니다 (로 수동로드를 수행하는 것처럼 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
내가 도대체 뭘 잘못하고있는 겁니까?
편집 : 기록을 위해 이제 OSX 시스템에서 Vagrant VM을 사용 하여이 작업을 수행하고 있지만 기본 솔루션이 여전히 선호됩니다.
sudo puppet apply manifest.pp
Puppet 3.0.1, Facter 1.6.16에서 실행 @JohnSiu : 슬프게도 아무것도 없습니다.
puppet apply manifest.pp
있습니까?