如何在配方中的控制语句中检查节点版本

时间:2018-07-17 08:28:23

标签: ruby rspec chef

在我的配方中,如果配方在CentOS 6版本上运行,我希望控制语句跳过审核阶段。

我尝试将以下内容用于RSpec中的控制语句,但似乎不起作用。

我如何在控制语句中使用节点属性以确保此审核不在CentOS 6.x版本上运行,而在其余版本上运行?

我正在尝试使用食谱,并在最后添加一个控制语句:

control_group "gcloud test" do
  control "gcloud" do
   describe command("/usr/bin/gcloud --version") do
    its(:exit_status) { should eq 0 }
    not_if { node[:platform_family][:platform_version].to_i == '6' }
  end
 end
end

1 个答案:

答案 0 :(得分:1)

1)不赞成使用内部审核功能,而应改用audit食谱。

2)用if node[:platform_family][:platform_version].to_i != '6' ... end或类似的符号包裹整个内容。