如何在 Test Kitchen 的节点上启用特定的 Ohai 插件
How to enable specific Ohai plugin on a node in Test Kitchen
我想在测试厨房的节点中启用 Passwd ohai 插件。在常规节点上,我通过添加来完成它:
ohai.optional_plugins = [
:Passwd
]
至/etc/chef/client.rb
。
我想在测试节点中实现相同的效果,所以我添加到我的 .kitchen.yml:
provisioner:
name: chef_zero
client_rb:
Ohai::Config[:optional_plugins] =
- passwd
但是我收敛节点的时候,插件没有开启。在测试节点上,在 /home/vagrant/.chef/client.rb
中没有关于我在收敛期间使用的 ohai 可选插件和模板的条目,看不到 node['etc']['group']['SOME_USERNAME']['gid']
属性(即使在第二次收敛之后,因为 Ohai 必须 运行第一次然后保存属性)。
如何在测试厨房节点上启用 Ohai 插件?
尝试
client_rb:
ohai.optional_plugins: [':Passwd']
我对你的问题没有确切的答案,但需要知道的是,当 运行测试厨房时,任何对被测菜谱中节点对象的引用都不会有来自一个 运行 下一个的实际节点对象,因为它没有被保存回任何 Chef 服务器。每个 运行 有点像 'clean slate'。您可以将节点对象保存到一个 运行 上的本地文件中,然后稍后再次访问它,但据我所知,在食谱中真的无法轻松地从测试厨房中更改 ohai 数据。你可以做这样的事情来保存它并在测试中得到它:
http://www.hurryupandwait.io/blog/accessing-chef-node-attributes-from-kitchen-tests
不确定这是否很有帮助,但我认为这个事实可能是相关的
我能够在最近的 Chef 版本 18.0.6
中使用 .kitchen.yml
中的以下内容:
provisioner:
name: chef_zero
client_rb:
'ohai.optional_plugins = ':
- :Passwd
在哈希键中包含 =
等号作为带引号的字符串 ('foo =': bar
) 强制 test-kitchen
正确地模板化 client.rb
:
ohai.optional_plugins = [:Passwd]
我想在测试厨房的节点中启用 Passwd ohai 插件。在常规节点上,我通过添加来完成它:
ohai.optional_plugins = [
:Passwd
]
至/etc/chef/client.rb
。
我想在测试节点中实现相同的效果,所以我添加到我的 .kitchen.yml:
provisioner:
name: chef_zero
client_rb:
Ohai::Config[:optional_plugins] =
- passwd
但是我收敛节点的时候,插件没有开启。在测试节点上,在 /home/vagrant/.chef/client.rb
中没有关于我在收敛期间使用的 ohai 可选插件和模板的条目,看不到 node['etc']['group']['SOME_USERNAME']['gid']
属性(即使在第二次收敛之后,因为 Ohai 必须 运行第一次然后保存属性)。
如何在测试厨房节点上启用 Ohai 插件?
尝试
client_rb:
ohai.optional_plugins: [':Passwd']
我对你的问题没有确切的答案,但需要知道的是,当 运行测试厨房时,任何对被测菜谱中节点对象的引用都不会有来自一个 运行 下一个的实际节点对象,因为它没有被保存回任何 Chef 服务器。每个 运行 有点像 'clean slate'。您可以将节点对象保存到一个 运行 上的本地文件中,然后稍后再次访问它,但据我所知,在食谱中真的无法轻松地从测试厨房中更改 ohai 数据。你可以做这样的事情来保存它并在测试中得到它:
http://www.hurryupandwait.io/blog/accessing-chef-node-attributes-from-kitchen-tests
不确定这是否很有帮助,但我认为这个事实可能是相关的
我能够在最近的 Chef 版本 18.0.6
中使用 .kitchen.yml
中的以下内容:
provisioner:
name: chef_zero
client_rb:
'ohai.optional_plugins = ':
- :Passwd
在哈希键中包含 =
等号作为带引号的字符串 ('foo =': bar
) 强制 test-kitchen
正确地模板化 client.rb
:
ohai.optional_plugins = [:Passwd]