我一直在重建我们的 Chef 主服务器以在 T2 实例中运行,这意味着将其移动到 VPC 中。旧主运行的是 11.10.4,而我一直在修补的新主运行的是 11.16.4。我已经接近让它在 VPC 中构建一个合适的服务器,但它在设置 Apache 时挂了。
ohai [reload_users] action reload [2014-11-25T08:13:58-06:00] 错误:运行插件时遇到错误:#<Ohai::Exceptions::AttributeNotFound:没有这样的属性:'passwd'
具体来说,它似乎不喜欢配方中的这段代码
if node[:etc][:passwd][:apache] == nil
ohai "reload_users" do
plugin "passwd"
action :reload
end
end
我环顾四周,在 ohai 上找到了这篇文章
在 Ohai 6 中,passwd 插件(名为 passwd.rb)设置了“current_user”属性,为了使用这些数据,需要知道这一事实。
需要插件(“密码”)在 Ohai 7 中,用户交互现在基于属性名称。仅指定您要为其收集数据的属性的名称。Ohai 7 找出需要哪些插件,然后收集数据。
在 Ohai 7 中,无需了解底层细节即可找出 current_user
依赖于 'currentuser'
看起来很接近......但如果我用它替换plugin "passwd"
它depends 'currentuser'
也会失败。
我想我正在使用 Ohai 7(gem list
节目ohai (7.4.0)
)。我不是红宝石人,所以那里有点模糊。这段代码到底应该做什么?这是从旧的 Opscode 食谱自定义添加到 repo 中的。我们的食谱主要是由不再为我们公司工作并且也不知道答案的其他人编写的。如果我将其注释掉,它就可以正常工作并安装 Apache,但如果我在不理解它的情况下删除一些代码,我会失职。