Mcollective Chef服务代理无法运行

时间:2015-01-26 22:48:59

标签: ruby chef mcollective

我已配置mcollective并将service代理安装到start/stop服务

https://github.com/rottenbytes/mcollective/blob/master/plugins/agents/chef-service.rb

但是当我运行它时,它在client.build_node失败并且我看到错误undefined method reset_defaults_and_overrides for nil:NilClass (NoMethodError)

require 'chef'
require 'chef/client'
require 'chef/run_context'
begin

Chef::Config[:solo] = true
Chef::Config[:log_level] = :debug
Chef::Log.level(:debug)
client = Chef::Client.new
client.run_ohai
client.build_node   <-- its failing here 

如果我尝试在我的shell上运行,我会关注

[root@node1 agent]# ruby /tmp/foo.rb 
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.12.2/lib/chef/policy_builder/expand_node_object.rb:117:in `build_node': undefined method `reset_defaults_and_overrides' for nil:NilClass (NoMethodError)
    from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.12.2/lib/chef/client.rb:259:in `build_node'
    from /tmp/foo.rb:11:in `<main>'

我不是红宝石专家,所以我不知道如何解决它。我只是想知道发生了什么

1 个答案:

答案 0 :(得分:0)

从它的外观来看,厨师客户的内部API已经改变了,mcollective插件已经不再适用了。尝试使用较旧版本的厨师宝石。