如何在没有“克隆资源”警告的情况下在chef中创建用户和组

时间:2017-09-26 06:40:28

标签: chef

我最近使用以下配方来创建特定用户,组:

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创建用户。

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

1 个答案:

答案 0 :(得分:1)

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

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

或者,如果你升级到Chef 13,克隆已经被删除,所以现在这些警告是不可能的。