हमारे पास पपेट के साथ कॉन्फ़िगर किया गया उत्पादन वातावरण है, और हमारी विकास मशीनों पर एक समान वातावरण स्थापित करने में सक्षम होना चाहते हैं: रेड हैट्स, यूबंटस और ओएसएक्स का मिश्रण। जैसा कि उम्मीद की जा सकती है, 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 VMs के साथ ऐसा कर रहे हैं, लेकिन मूल समाधान अभी भी पसंद किया जाएगा।
sudo puppet apply manifest.pp
कठपुतली 3.0.1 पर चल रहा है , फैक्टर 1.6.16 @ जॉनसन: कुछ भी नहीं है, दुख की बात है।
puppet apply manifest.pp
?