用户食谱在 Test Kitchen 中失败但在 bootstrap 中工作
Users cookbook failing in Test Kitchen but working in bootstrap
我有一个将用户添加到 Centos 7.3 机器的简单方法:
users_manage 'sales' do
group_id 5000
action [:create]
data_bag 'sales_users'
end
users_manage 'mechanics' do
group_id 6000
action [:create]
data_bag 'shop_users'
end
数据包的工作方式与使用标准刀 boostrap 客户端收敛配方并添加用户时一样...但是。测试厨房失败并出现以下错误:
Error executing action `create` on resource 'users_manage[sales]'
NoMethodError
-------------
undefined method `supports' for Chef::Resource::User::LinuxUser
查看 Test Kitchen 的虚拟机,我可以在 /tmp/kitchen/data_bags 目录中找到数据包。这是在 Test Kitchen 中工作的,我不确定是什么阻止了它工作,因为我不确定该错误意味着什么...
您正在 Test Kitchen 中安装 Chef 13,但在生产环境中安装了 12。通过将此添加到您的 .kitchen.yml
来解决此问题(如果现有供应商部分已经存在,请更新):
provisioner:
name: whatever_you_have
require_chef_omnibus: 12
我认为 users
烹饪书最近也针对 Chef 13 进行了更新,因此如果您确实想继续对其进行测试以进行升级,请检查是否有问题阻止了升级。
我有一个将用户添加到 Centos 7.3 机器的简单方法:
users_manage 'sales' do
group_id 5000
action [:create]
data_bag 'sales_users'
end
users_manage 'mechanics' do
group_id 6000
action [:create]
data_bag 'shop_users'
end
数据包的工作方式与使用标准刀 boostrap 客户端收敛配方并添加用户时一样...但是。测试厨房失败并出现以下错误:
Error executing action `create` on resource 'users_manage[sales]'
NoMethodError
-------------
undefined method `supports' for Chef::Resource::User::LinuxUser
查看 Test Kitchen 的虚拟机,我可以在 /tmp/kitchen/data_bags 目录中找到数据包。这是在 Test Kitchen 中工作的,我不确定是什么阻止了它工作,因为我不确定该错误意味着什么...
您正在 Test Kitchen 中安装 Chef 13,但在生产环境中安装了 12。通过将此添加到您的 .kitchen.yml
来解决此问题(如果现有供应商部分已经存在,请更新):
provisioner:
name: whatever_you_have
require_chef_omnibus: 12
我认为 users
烹饪书最近也针对 Chef 13 进行了更新,因此如果您确实想继续对其进行测试以进行升级,请检查是否有问题阻止了升级。