Chef Recipe: файл не найден (файл не содержится ни в одном из этих мест) - PullRequest
1 голос
/ 23 марта 2020

Я пытаюсь bootstrap машина с рецептом, который содержит вызов 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 просто отказывается их распознавать , Я не уверен, что может быть причиной этой проблемы. Любая помощь очень ценится.

1 Ответ

1 голос
/ 24 марта 2020

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

Ваш исходный файл 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 в папке, отличной от папки по умолчанию, например second_folder , например:

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
...