Я пытаюсь протестировать рецепт, в котором используется кулинарная книга сообщества sudo
.Ресурс не найден при использовании кулинарной книги berks в тестовой кухне
Я установил BERKS локально, я создал Berksfile
и добавил к нему следующий:
source "https://supermarket.getchef.com"
metadata
cookbook 'sudo'
и выдал следующие команды: berks install
и berks vendor
, тем не менее, я все еще получаю ошибку
[2016-11-30T12:32:53+00:00] ERROR: No resource or method named `sudo' for `Chef::Recipe "default"'
, указывающий на эту часть моего рецепта:
49>> sudo 'reboot_bot' do
50: user 'reboot_bot'
51: nopasswd true
52: commands [
53: '/sbin/reboot'
54: ]
55: end
Что-нибудь еще, что нужно сделать, и мне не хватает? Что-то я делаю неправильно?
Какой тест вы используете? если chefspec вам придется включить chefspec/berkshelf в spec_helper. см. [Документация] (https://github.com/sethvargo/chefspec#berkshelf) от chefspec – Tensibai
, фактически не выполняющая тест perse, просто проверяя рецепт. Я хочу запустить его на кухне, прежде чем запускать в prod. Но рецепт отказывается бежать, как вы можете видеть в моем вопросе –
Запуск на кухне работает функциональный тест. Btw, кухня должна использовать berkshelf для решения зависимостей, вы добавили 'depend 'sudo'' в свою cookbook' metadata.rb' право? (если нет, вы тоже, клиент шеф-повара не будет читать Berksfile, и это причина варианта метаданных в нем, возьмите зависимости из файла метаданных, указав их в том случае, когда вы хотите использовать другой источник, кроме по умолчанию - по умолчанию) – Tensibai