【问题标题】:Users cookbook failing in Test Kitchen but working in bootstrap用户食谱在测试厨房中失败,但在引导程序中工作
【发布时间】:2017-04-19 02:26:03
【问题描述】:

我有一个简单的配方,可以将用户添加到 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

查看测试厨房的 VM,我可以在 /tmp/kitchen/data_bags 目录中找到数据包。这在测试厨房中工作,我不确定是什么阻止它工作,因为我不确定那个错误意味着什么......

【问题讨论】:

    标签: chef-infra chef-recipe test-kitchen


    【解决方案1】:

    您正在测试厨房中安装 Chef 13,但在生产中安装了 12。通过将其添加到您的 .kitchen.yml 来解决此问题(如果现有配置程序部分已存在,请更新它):

    provisioner:
      name: whatever_you_have
      require_chef_omnibus: 12
    

    我认为 users 食谱最近也针对 Chef 13 进行了更新,因此,如果您确实想继续测试以进行升级,请检查是否存在阻止升级的问题。

    【讨论】:

      猜你喜欢
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多