Назад | Перейти на главную страницу

Сервис не запускается при использовании повара

Я написал сценарий, который запускаю как услугу. Когда я звоню service myservice start служба запускается нормально. Однако, когда та же служба запускается с помощью chef, служба не запускается. Код моей услуги шеф-повара выглядит так

service "myservice" do
 supports :status => true, :restart => true, :reload => true
 action [ :enable, :start ]
end

Я вызываю сценарий, используя knife bootstrap <ip> -r 'recipe[testservice]'. Что мне здесь не хватает? Спасибо за помощь!

Скорее всего у вас есть ошибки в вашем /etc/init.d/myservice сценарий. Когда вы говорите, что ваш сервис поддерживает status команда, повар будет работать service myservice status и проверьте код выхода. Если это 0, предполагается, что служба запущена. Ваш сценарий должен завершиться с ненулевым кодом.

Я столкнулся с той же проблемой, на самом деле сервер chef 11 полагается на действие: статус для запуска службы. Следовательно, как и запуск и остановка действия в вашем сценарии, вам также потребуется статус действия, который должен возвращать текущий статус сценария.

Когда Chef запускает службу, он сначала проверяет, запущена ли она уже («/ sbin / service myservice status» в CentOS). Если он определяет, что он уже запущен, он не будет запускать и регистрировать что-либо на более высоком уровне, чем уровень отладки:

https://github.com/opscode/chef/blob/master/lib/chef/provider/service.rb#L87