Chef 服务器引导在 Amazon Linux 上失败

Chef 服务器引导在 Amazon Linux 上失败

我正在尝试在 Amazon Linux 64 位实例上引导 chef-server,但不知何故 chef-solo 出现一些错误。似乎 chef 无法确定 Amazon Linux 实际上是 RedHat 衍生产品并使用 redhat 配置。有没有什么简单的解决方法?

以下是崩溃转储:

[Fri, 02 Mar 2012 07:52:44 +0000] INFO: Start handlers complete.
[Fri, 02 Mar 2012 07:52:44 +0000] ERROR: Running exception handlers
[Fri, 02 Mar 2012 07:52:44 +0000] ERROR: Exception handlers complete
[Fri, 02 Mar 2012 07:52:44 +0000] FATAL: Stacktrace dumped to /tmp/chef-solo/chef-stacktrace.out
[Fri, 02 Mar 2012 07:52:44 +0000] FATAL: Errno::ENOENT: No such file or directory 
- /usr/lib64/ruby/gems/1.8/gems/chef-0.10.8/distro//etc/init.d/chef-solr

答案1

虽然 amazon 是基于 Fedora/EL 的,但问题在于该平台被称为“amazon”。cookbook 被硬编码为在“centos”、“redhat”、“fedora”或“ubuntu”等上运行。

解决方案是在某处托管 bootstrap.tar.gz 的自定义版本,其中所有食谱的 metadata.rb 内包含“amazon”作为受支持平台的列表。

參考文獻:http://tickets.opscode.com/browse/COOK-801

相关内容