用户菜谱在测试厨房中失败但在bootstrap

时间:2017-04-18 14:58:22

标签: chef chef-recipe test-kitchen

我有一个简单的方法,将用户添加到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的VM我可以在/ tmp / kitchen / data_bags目录中找到数据包。这是在测试厨房工作,我不知道什么会阻止它工作,因为我不知道这个错误意味着什么...

1 个答案:

答案 0 :(得分:1)

您正在测试厨房安装Chef 13,但正在生产12个。修复此问题,方法是将其添加到.kitchen.yml(如果已存在则更新现有的配置文件部分):

provisioner:
  name: whatever_you_have
  require_chef_omnibus: 12

我认为最近还为Chef 13更新了users食谱,因此如果您确实希望继续对其进行测试以进行升级,请检查某些内容是否阻止升级。