Ошибка при использовании группового ресурса CHEF

Привет, я использую приведенный ниже код для создания группы, я бы хотел, чтобы шеф-повар использовал поставщика «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

person Saurav    schedule 25.09.2013    source источник
comment
Вы нашли решение этой проблемы? Это нормально, чтобы ответить на свой вопрос. Пожалуйста, не забудьте отметить ответ как правильный! :)   -  person sethvargo    schedule 03.01.2014


Ответы (2)


Обычно способ отладки группового ресурса заключается в запуске команды gthe groupadd и просмотре результата.

В вашей ситуации

groupadd -g 901 webspher

это, вероятно, объяснит причину, по которой ваш шеф-повар терпит неудачу.

Скорее всего, это связано с тем, что ваша группа уже существует, или гид уже занят. Вы можете проверить это с помощью

grep 901 /etc/groups

и

grep webspher /etc/groups 
person kamaradclimber    schedule 29.09.2013
comment
Выполнил эту команду groupadd -g 901 webspher Группа с GID 901 не создана. Но при этом ошибок не обнаружено, такая же ошибка возникает и с ресурсом USER. Более того, почему вызывается групповой мод. Есть ли способ напрямую вызвать провайдера Groupadd. - person Saurav; 30.09.2013
comment
man groupadd говорит, что код выхода 6 означает, что указанная группа не существует - person kamaradclimber; 01.10.2013

Спасибо, Kamararadclimber, как вы также упомянули, код выхода 6 означает, что группа не существует, поэтому в идеале она должна создать группу.

Проблема, которую я обнаружил, была локальной для нашей среды. У нас есть активный каталог, связанный с нашими системами, поэтому группы и пользователи создаются в Active Directory и сопоставляются с машинами.

Каким-то образом пользователь, которого я пытался создать, был в активном каталоге, но не был правильно сопоставлен, то есть его не было в /etc/groups.

Chef каким-то образом смог узнать, что группа существует, не уверен, как он на самом деле выяснял это в активном каталоге, но это было и, следовательно, выдавало ошибку.

groupadd работал нормально, потому что он просто создал группу локально и нигде не проверял активный каталог.

Спасибо всем за поддержку

person Saurav    schedule 09.10.2013