Nokogiri / Fog未在AWS OpsWorks Chef 11上安装

时间:2017-01-30 02:49:53

标签: ruby chef nokogiri fog

我们用于启动EC2实例的OpsWork Chef脚本已停止工作。

我对日志文件的解释,如下所示,是Route53尝试使用Fog,但由于Nokogiri需要Ruby 2.1.0或更高版本,因此无法安装Fog。

经过一些谷歌搜索后,我发现Ruby版本与OpsWork版本捆绑在一起,因为我们使用的是Chef 11是Ruby 2.0。

我不明白的是我们在Nokogirl上有固定版本

gem_package "nokogiri" do
  action :install
  version "1.5.11"
end

去年运行的所有Chef脚本,所以我猜测在Nokogiri或Fog中发生了一些变化。任何帮助将不胜感激。

From log...
[2017-01-30T09:29:48+10:00] INFO: Processing package[autoconf] action nothing (build-essential::_debian line 108)
[2017-01-30T09:29:48+10:00] INFO: Processing package[binutils-doc] action nothing (build-essential::_debian line 108)
[2017-01-30T09:29:48+10:00] INFO: Processing package[bison] action nothing (build-essential::_debian line 108)
[2017-01-30T09:29:48+10:00] INFO: Processing package[build-essential] action nothing (build-essential::_debian line 108)
[2017-01-30T09:29:48+10:00] INFO: Processing package[flex] action nothing (build-essential::_debian line 108)
[2017-01-30T09:29:48+10:00] INFO: Processing package[gettext] action nothing (build-essential::_debian line 108)
[2017-01-30T09:29:48+10:00] INFO: Processing package[ncurses-dev] action nothing (build-essential::_debian line 108)
[2017-01-30T09:29:48+10:00] INFO: Processing package[libxml2-dev] action nothing (route53::default line 23)
[2017-01-30T09:29:48+10:00] INFO: Processing package[libxslt1-dev] action nothing (route53::default line 28)
[2017-01-30T09:29:48+10:00] INFO: Processing chef_gem[fog] action install (route53::default line 44)
[2017-01-30T09:29:48+10:00] INFO: Installing chef-gem fog = 1.20
ERROR:  Error installing fog:
nokogiri requires Ruby version >= 2.1.0.
[2017-01-30T09:29:55+10:00] INFO: 
[2017-01-30T09:29:55+10:00] INFO: Processing route53_record[fresno.servers.digitaldealer.com.au] action create (digitaldealer::adddns line 4)

================================================================================
Error executing action `create` on resource 'route53_record[fresno.servers.digitaldealer.com.au]'
================================================================================


LoadError
---------
cannot load such file -- fog/aws/dns


Cookbook Trace:
---------------
/var/lib/aws/opsworks/cache.stage2/cookbooks/route53/providers/record.rb:3:in `require'
/var/lib/aws/opsworks/cache.stage2/cookbooks/route53/providers/record.rb:3:in `block in class_from_file'

1 个答案:

答案 0 :(得分:1)

在厨师运行期间安装宝石时,您应使用chef_gem资源(由route53::default使用)。

chef_gem "nokogiri" do
  action :install
  version "1.5.11"
end

确保在route53::default之前执行。