Chef infra 如何在没有';克隆资源&x27;警告

Chef infra 如何在没有';克隆资源&x27;警告,chef-infra,Chef Infra,我最近使用以下方法创建了一个特定的用户组: sysadmin = data_bag_item('users','sysadmin') group 'sysadmin' do action :create gid sysadmin['gid'].to_i end user 'sysadmin' do uid sysadmin['uid'].to_i gid sysadmin['gid'].to_i manage_home true shell sysadmin['she

我最近使用以下方法创建了一个特定的用户组:

sysadmin = data_bag_item('users','sysadmin')

group 'sysadmin' do
  action :create
  gid sysadmin['gid'].to_i
end

user 'sysadmin' do
  uid sysadmin['uid'].to_i
  gid sysadmin['gid'].to_i
  manage_home true
  shell sysadmin['shell']
  action :create
end

group 'sysadmin' do
  action :modify
  members 'sysadmin'
  append true
end
并收到以下警告:

  Cloning resource attributes for group[sysadmin] from prior resource
Previous group[sysadmin]: /var/chef/cache/cookbooks/initialubuntu/recipes/sysadmin_user.rb:16:in `from_file'
Current  group[sysadmin]: /var/chef/cache/cookbooks/initialubuntu/recipes/sysadmin_user.rb:29:in `from_file' at 1 location:
Chef无法创建gid为不存在系统组的用户


如何将组资源合并为一个?

您必须重命名其中一个,例如,您可以重命名第二个:

group 'append sysadmin' do
  group_name 'sysadmin'
  action :modify
  members 'sysadmin'
  append true
end

或者,如果您升级到Chef 13,克隆终于被删除了,因此这些警告现在不可能出现。

仅仅创建组然后将用户添加到组中还不够吗?你为什么又用:modify?我这么做了。厨师长用户资源没有组属性。