我们有一本用于centos 6和7机器的食谱.在7上安装最新版本的节点,在6上安装特定版本的节点.同样在6安装需要我们不7.安装我试图找出如何写只会exectuce /断言的事情是在给国家,如果我们正在测试一个CentOS 6箱的INSPEC测试某些其他包.我该怎么做呢?
用测试厨房运行这个.
我正在为我正在研究的一些新的厨师食谱编写InSpec测试.我想利用cookbook使用的data_bags迭代数据包项.我无法弄清楚如何在我的InSpec测试中访问它们!配方使用search,data_bag和data_bag_item方法.但是这些方法似乎在我的InSpec测试中不可用.我怀疑这些是Chef DSL特有的方法吗?data_bags的源代码在源代码控制之下,因此我可以在本地文件系统上访问它们的json.
如何使用InSpec语法在Chef_zero中访问这些data_bags?
我在网上找了几个例子,但是我没看到chef_zero实际上是如何加载data_bag的,所以它们可以在测试中使用,例如https://github.com/charlesjohnson/fundamentals-with-tests/blob/master /chef-repo/cookbooks/users/test/integration/default/serverspec/default_spec.rb 和 https://github.com/chef/chef/blob/master/kitchen-tests/test/integration/webapp/default_spec.rb
我在Vagrant测试厨房使用Windows服务器2012R2盒子.这是来自其中一个数据包的数据包项目的示例:
{
"User": "mcummins",
"FullName": "Martin Cummins",
"id": "mcummins"
}
Run Code Online (Sandbox Code Playgroud)
此特定数据包列出了添加到管理员组的Windows Active Directory用户.
我已经在我的.kitchen.yml中设置了data_bag_path(我在套件和配置器中设置了它)但是我没有达到可以看出哪一个是正确的点:
---
driver:
name: vagrant
customize:
natdnshostresolver1: "on"
provisioner:
name: chef_zero
data_bags_path: ../../../data_bags
# client_rb:
# audit_mode: :audit_only
verifier:
name: inspec
platforms:
- name: mwrock/Windows2012R2
transport:
name: winrm
suites:
- name: default
data_bags_path: ../../../data_bags
run_list:
- recipe[SPMWindowsBuilder::default]
verifier:
inspec_tests:
- test/integration
attributes:
Run Code Online (Sandbox Code Playgroud) 是否可以使用curl从jmx端口查询一些/任何数据?我正在编写一个 inspec(chef) 测试来检查 jmx 是否工作正常。
# curl https://localhost:9114
curl: (35) Encountered end of file
# curl -s -w "%{http_code}\n" https://localhost:9114 -o /dev/null
000
Run Code Online (Sandbox Code Playgroud)
简单地执行curl不会返回任何有用的东西。
谢谢阅读。
我正在为我的厨师食谱编写Inspec测试,其中有5个文件需要对其模式进行测试。它们都应具有相同的模式0755。
describe file('/dev') do
its('mode') { should cmp '00755' }
end
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的语法。但这只会测试1个文件(/ dev)。是否可以使用单个测试块来测试多个文件?