【发布时间】:2017-02-16 01:27:58
【问题描述】:
我有几台服务器安装了厨师。 其中一个在运行时开始失败
sudo chef-client -j /etc/chef/first-boot.json
仅在其中一台机器上
调试的时候报错
Re-raising exception: NoMethodError - undefined method `[]' for nil:NilClass
痕迹是
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/data_collector/messages/helpers.rb:133:in `read_node_uuid'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/data_collector/messages/helpers.rb:111:in `node_uuid'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/data_collector/messages.rb:40:in `run_start_message'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/data_collector.rb:130:in `block in run_started'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/data_collector.rb:307:in `disable_reporter_on_error'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/data_collector.rb:128:in `run_started'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/event_dispatch/dispatcher.rb:43:in `call'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/event_dispatch/dispatcher.rb:43:in `block in call_subscribers'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/event_dispatch/dispatcher.rb:34:in `each'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.18.31/lib/chef/event_dispatch/dispatcher.rb:34:in `call_subscribers'
线是
metadata["node_uuid"]
元数据是通过读取data_collector_metadata.json文件来的
def metadata
Chef::JSONCompat.parse(Chef::FileCache.load(metadata_filename))
rescue Chef::Exceptions::FileNotFound
{}
end
我正在为此苦苦挣扎...为什么这在某些服务器上有效而在此无效
【问题讨论】:
标签: ruby chef-infra