2012-08-13 117 views
0

我有一个非常简单的厨师配方,试图在EC2 & Vagrant VM(都运行Ubuntu 12.04)上安装RabbitMQ和几个RabbitMQ插件。通过厨师安装RabbitMQ的例外

我使用Opscode公司RabbitMQ的食谱(https://github.com/opscode-cookbooks/rabbitmq),当我准备的机器(S)我得到以下堆栈跟踪:

INFO: Processing apt_repository[rabbitmq] action add (rabbitmq::default line 43) 
INFO: Processing remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] action create (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 36) 
INFO: remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] updated 
INFO: remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] mode changed to 644 
INFO: Processing execute[install-key rabbitmq-signing-key-public.asc] action run (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 52) 
INFO: execute[install-key rabbitmq-signing-key-public.asc] ran successfully 
INFO: apt_repository[rabbitmq] sending run action to execute[apt-get update] (immediate) 
INFO: Processing execute[apt-get update] action run (apt::default line 29) 
INFO: execute[apt-get update] ran successfully 
INFO: Processing remote_file[/srv/chef/file_store/rabbitmq-signing-key-public.asc] action nothing (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 36) 
INFO: Processing execute[install-key rabbitmq-signing-key-public.asc] action nothing (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 52) 
INFO: Processing execute[apt-get update] action nothing (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 78) 
INFO: Processing file[/etc/apt/sources.list.d/rabbitmq-source.list] action create (/srv/chef/file_store/cookbooks/apt/providers/repository.rb line 89) 
INFO: file[/etc/apt/sources.list.d/rabbitmq-source.list] created file /etc/apt/sources.list.d/rabbitmq-source.list 
INFO: Processing package[util-linux] action install (rabbitmq::default line 53) 
INFO: Processing package[rabbitmq-server] action install (rabbitmq::default line 54) 
ERROR: package[rabbitmq-server] (rabbitmq::default line 54) has had an error 
... 
FATAL: Chef::Exceptions::Exec: package[rabbitmq-server] (rabbitmq::default line 54) had an error: Chef::Exceptions::Exec: apt-get -q -y install rabbitmq-server=2.7.1-0ubuntu4 returned 100, expected 0 

正如您在日志中看到的,apt-get update发生在添加新的rabbitmq源之前(意思是它试图从RabbitMQ存储库安装rabbitmq-server版本2.7.1与2.8.x版本相比)。

这是食谱代码:https://github.com/opscode-cookbooks/rabbitmq/blob/master/recipes/default.rb#L43-54

任何想法如何解决该问题?

回答

0

我有你需要的2个修复程序。

当添加新的回购协议时,apt_repository未启动正确的apt-get更新。 http://tickets.opscode.com/browse/COOK-1530有修复。

rabbitmq的apt_repository没有触发apt-get更新 http://tickets.opscode.com/browse/COOK-1496,apt cookbook更新修复了它。今天合并为https://github.com/opscode-cookbooks/rabbitmq大师。

2本烹饪书的新版本应该可以解决所有问题,希望本周。在此期间,您可以随时从github中获取信息,并可以通过任何进一步的问题向我发送请求。

matt @ opscode

+0

不幸的是,这些补丁无法解决手头的问题。我已经发布了关于如何在这个要点上重新创建的详细信息:https://gist.github.com/3345845 – d2kagw 2012-08-14 02:30:53

+0

对于那些遇到同样问题的用户,通过包含上述修补程序并将Chef-Client升级到0.10.12 – d2kagw 2012-08-15 04:22:16