Рецепт шеф-повара: проблема с файлом не найдена (не содержит файл ни в одном из этих мест)

Я пытаюсь загрузить машину с рецептом, который содержит вызов ресурса cookbook_ file с action:create. Во время выполнения возникает следующая проблема (некоторая информация была отредактирована):

FATAL: Chef::Exceptions::FileNotFound: cookbook_file[/path/to/file]
(XXXX::default line 25) had an error: Chef::Exceptions::FileNotFound:
Cookbook 'XXXX' (0.1.0) does not contain a file at any of these
locations:   files/default/file   files/second_folder/file

Я проверил свои каталоги /chef/cookbooks/cookbook_name/recipe/files/default и /second_folder, и необходимые файлы там есть, но Chef просто отказывается их распознавать. Я не уверен, что может быть причиной этой проблемы. Буду признателен за любую оказанную помощь.


person GINA    schedule 23.03.2020    source источник
comment
Можете ли вы поделиться своим использованием cookbook_file? Это поможет решить вашу проблему   -  person gregorycallea    schedule 24.03.2020


Ответы (2)


Решение для папки по умолчанию

Ваш исходный файл file должен быть размещен в вашей кулинарной книге по адресу:

cookbook_name/files/default/file

Затем вы должны использовать cookbook_file следующим образом:

cookbook_file "/home/user/file") do
   source 'file'
   owner 'root'
   group 'root'
   mode '0644'
   action :create
end

Решение для пользовательских папок

Вы также можете поместить file в папку, отличную от папки по умолчанию, в качестве второй_папки, например:

cookbook_name/files/second_folder/file

Таким образом, вы должны указать в источнике также каталог не по умолчанию следующим образом:

cookbook_file "/home/user/file") do
   source 'second_folder/file'
   owner 'root'
   group 'root'
   mode '0644'
   action :create
end
person gregorycallea    schedule 24.03.2020

Установите флажок игнорировать файлы, которые вы могли унаследовать от шаблона поваренной книги. В моем случае ошибка заключалась в том, что я не смог найти файл xml, и у меня было *.xml в обоих файлах игнорирования chefignore и .gitignore.

person Bikramjit Singh    schedule 06.08.2020