Chef node.name 未设置

Chef node.name 未设置

我正在做的工作:

  • Debian Wheezy 7.6
  • 厨师:11.14.6

到目前为止,我一直使用 node.name 来设置实例的主机名。示例:

{
  "name": "web-01",
  "chef_environment": "_default",
  "normal": {
    "tags": [

    ]
  },
  "run_list": [
    "recipe[[email protected]]"
  ]

}

但是最近,从“name”键设置 node.name 停止工作。node.name 仍然是我的云提供商提供的主机名。在运行 chef-client、chef-solo 甚至 chef-shell 时都会发生这种情况。它似乎在我的 client.rb 中设置正确,但仍然没有 node.name 没有更新。我尝试使用该-N标志运行,但仍然没有成功。

还有人遇到过这个问题吗?如何设置 node.name?或者说如何设置 node.name?

答案1

我发现,chef-client 中的属性设置与 chef-solo 不同。chef solo 喜欢 node[:name],而 chef-client 使用 node.name。如果有人知道原因,我将不胜感激。

if Chef::Config[:solo]
  node[:name]
else
  node.name
end

相关内容