您好我使用以下代码创建一个组,我希望厨师使用“Chef :: Provider :: Group :: Groupadd”提供程序,我在Red Hat Enterprise Linux Server 6.4版上执行此操作。
主厨客户端版本11.4.0
group node['was']['usr_grp'] do
action :create
end
================================================================================
Error executing action `create` on resource 'group[webspher]'
================================================================================
Chef::Exceptions::Exec
----------------------
groupmod webspher returned 6, expected 0
Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/WAS/recipes/default.rb
35: group node['was']['usr_grp'] do
36: action :create
37: end
38:
Compiled Resource:
------------------
# Declared in /var/chef/cache/cookbooks/WAS/recipes/default.rb:35:in `from_file'
group("webspher") do
action [:create]
retries 0
retry_delay 2
group_name "webspher"
gid 901
cookbook_name "WAS"
recipe_name "default"
end
[2013-09-25T13:36:45-05:00] INFO: Running queued delayed notifications before re-raising exception
[2013-09-25T13:36:45-05:00] ERROR: Running exception handlers
[2013-09-25T13:36:45-05:00] FATAL: Saving node information to /var/chef/cache/failed-run-data.json
[2013-09-25T13:36:45-05:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated
[2013-09-25T13:36:45-05:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2013-09-25T13:36:45-05:00] FATAL: Chef::Exceptions::Exec: group[webspher] (WAS::default line 35) had an error: Chef::Exceptions::Exec: groupmod webspher returned 6, expected 0
答案 0 :(得分:2)
通常调试组资源的方法是运行gthe groupadd命令并观察结果。
在你的情况下
groupadd -g 901 webspher
它可能会解释你的厨师运行失败的原因。
最有可能的原因是你的小组已经存在或gid已经被占用。 您可以使用
进行检查grep 901 /etc/groups
和
grep webspher /etc/groups
答案 1 :(得分:1)
感谢Kamararadclimber,因为您还提到退出代码6意味着群组不存在,所以理想情况下它应该创建群组。
我发现的问题是我们环境的本地问题。我们将活动目录与我们的系统绑定,以便在Active Directory中创建组和用户并映射到计算机。
不知何故,我试图创建的用户是在活动目录中但没有正确映射,即它不存在于/ etc / groups中。
厨师以某种方式能够发现该组存在,不确定它是如何在活动目录中实际计算出来的,但它确实是错误的。
groupadd工作正常,因为它只是在本地创建了组,并没有在活动目录中的任何位置进行检查。
感谢所有支持