【发布时间】:2020-08-27 22:36:32
【问题描述】:
我正在尝试使用 Chef (cookbook 'rabbitmq', '~> 5.8.5') 和 Kitchen 安装旧版本的 RabbitMQ,在我的配置下:
属性
#Erlang
default['erlang']['install_method'] = 'source'
default['erlang']['source']['version']='R13B03'
default['erlang']['source']['checksum']='e7c46c8b2778f22064a3b369c1a1b572a1cc0e8a2198166858d4b9a1b488d662'
#RabbitMQ
default['rabbitmq']['erlang']['enabled'] = true
default['rabbitmq']['version'] = "3.4.4"
default['rabbitmq']['rpm_package'] ='rabbitmq-server-3.4.4-1.noarch.rpm'
食谱:
include_recipe 'rabbitmq::default'
当我运行厨房收敛时,我得到以下异常:
Running handlers:
[2020-08-22T22:20:07+00:00] ERROR: Running exception handlers
Running handlers complete
[2020-08-22T22:20:07+00:00] ERROR: Exception handlers complete
Chef Infra Client failed. 9 resources updated in 06 minutes 26 seconds
[2020-08-22T22:20:07+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
[2020-08-22T22:20:07+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2020-08-22T22:20:07+00:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: rpm_package[/tmp/kitchen/cache/rabbitmq-server-3.4.4-1.noarch.rpm] (rabbitmq::default line 224) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of ["rpm", "-i", "/tmp/kitchen/cache/rabbitmq-server-3.4.4-1.noarch.rpm"] ----
STDOUT:
STDERR: warning: /tmp/kitchen/cache/rabbitmq-server-3.4.4-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY
error: Failed dependencies:
erlang >= R13B-03 is needed by rabbitmq-server-3.4.4-1.noarch
---- End output of ["rpm", "-i", "/tmp/kitchen/cache/rabbitmq-server-3.4.4-1.noarch.rpm"] ----
Ran ["rpm", "-i", "/tmp/kitchen/cache/rabbitmq-server-3.4.4-1.noarch.rpm"] returned 1
但是当我登录到VM时,我可以看到安装了erlang:
[vagrant@kitchen-rmq-server-centos-7 ~]$ erl
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
1>
和RMQ要求的版本相同(R13B03) 知道如何解决这个问题吗?
【问题讨论】:
-
您是否有存储库来共享和重现问题?
-
@Mr.我创建了一个 repo 来重现这个问题:github.com/Proximator/chef-rmq
-
你错过了
Gemfile.lock,这使得 bundler gem 解析运行时间过长,所以我不得不杀死它。请添加锁定文件,然后我会尝试更深入地查看 -
@Mr.我添加了,谢谢你的帮助
-
您能否登录到您的虚拟机并尝试手动运行 Chef 尝试的相同命令:
rpm -i /tmp/kitchen/cache/rabbitmq-server-3.4.4-1.noarch.rpm(以 root 身份)。输出会是什么?
标签: rabbitmq chef-infra