我有点卡住了一个问题,我试图把我的头包裹好几天了。
这是我在做什么:
Veewee,Vagrant和VirtualBox都运行在MacOS X 10.7.4上。 stream浪盒本身就是CentOS 6.2。
这工作很好,相当一段时间,直到我几天前重新创buildVirtualBox图像。 在puppet运行期间安装rabbitmq-plugins期间,我现在得到以下错误:
/Stage[main]/Rabbitmq/Exec[rabbitmq-plugins]/returns: erlexec: HOME must be set
我的RabbitMQ puppetconfiguration可以在我的GitHub仓库find,但是这里是最重要的部分:
$version = "2.8.7" $url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/rabbitmq-server-${version}-1.noarch.rpm" package{"erlang": ensure => "present", } package{"rabbitmq-server": provider => "rpm", source => $url, require => Package["erlang"] } exec{"rabbitmq-plugins": path => "/usr/bin:/usr/sbin:/bin", command => "rabbitmq-plugins enable rabbitmq_management", require => Package["rabbitmq-server"] }
我的附加存储库,例如epel,在文件顶部的veewees postinstall.sh中定义。
最后,这是我得到'/etc/init.d/rabbitmq-server status'
[{pid,2834}, {running_applications,[{rabbit,"RabbitMQ","2.8.7"}, {ssl,"Erlang/OTP SSL application","4.1.6"}, {public_key,"Public key infrastructure","0.13"}, {crypto,"CRYPTO version 2","2.0.4"}, {mnesia,"MNESIA CXC 138 12","4.5"}, {os_mon,"CPO CXC 138 46","2.2.7"}, {sasl,"SASL CXC 138 11","2.1.10"}, {stdlib,"ERTS CXC 138 10","1.17.5"}, {kernel,"ERTS CXC 138 10","2.14.5"}]}, {os,{unix,linux}}, {erlang_version,"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:30] [kernel-poll:true]\n"}, {memory,[{total,24993120}, {processes,10328496}, {processes_used,10321296}, {system,14664624}, {atom,1175905}, {atom_used,1143841}, {binary,17192}, {code,11416020}, {ets,766168}]}, {vm_memory_high_watermark,0.4}, {vm_memory_limit,205851852}, {disk_free_limit,1000000000}, {disk_free,7089795072}, {file_descriptors,[{total_limit,924}, {total_used,4}, {sockets_limit,829}, {sockets_used,2}]}, {processes,[{limit,1048576},{used,131}]}, {run_queue,0}, {uptime,6}]
networking资源提示,我必须设置HOME。 当然,如果设置了HOME,我就会login到这个盒子里,对于用户stream浪者来说,它是“/ home / vagrant”,对于root来说,这是“root”。
与往常一样,任何提示/想法/build议/假设都是值得欢迎的。
非常感谢!
干杯,托比
升级到Puppet 3.0后,我遇到了同样的问题。
从发行说明中我最终发现:
由于误导值,当运行命令时,HOME和USER环境variables现在未被设置。
为我工作的解决scheme是将environment => "HOME=/root"
到Exec资源:
exec{"rabbitmq-plugins": path => "/usr/bin:/usr/sbin:/bin", environment => "HOME=/root", command => "rabbitmq-plugins enable rabbitmq_management", require => Package["rabbitmq-server"] }
希望这可以帮助!