Как устранить несоответствие названий в кулинарной книге между berks и chef-solo?

Продолжение этого ответа .

Запуск chef solo:

sudo chef-solo -c config.rb -j config.json



Starting Chef Client, version 12.16.42
resolving cookbooks for run list: ["terraform"]

================================================================================
Error Resolving Cookbooks for Run List:
================================================================================

Missing Cookbooks:
------------------
No such cookbook: terraform

Expanded Run List:
------------------
* terraform

Platform:
---------
x86_64-linux

Cookbooks, установленные с помощью berkshelf, содержат постфикс версии

user@host ~ $ ls ~/.berkshelf/cookbooks/

terraform-0.5.3

Если terraform-0.5.3 переименован в terraform и chef-solo запускается снова, кулинарная книга terraform найдена, но другая не удается найти:

Missing Cookbooks:
------------------
No such cookbook: build-essential

Попытка решить проблему

Проблема была решена путем удаления постфиксной версии из всех кулинарных книг, находящихся в следующем каталоге:

user@host ~ $ ls ~/.berkshelf/cookbooks/
ark  ark-1.1.0  build-essential-7.0.2  compat_resource  compat_resource-12.16.2  mingw  mingw-1.2.4  ohai  ohai-4.2.2  seven_zip  seven_zip-2.0.2  terraform-0.5.3  windows  windows-2.1.1

Этот подход имеет некоторые побочные эффекты:

  1. Каждый раз berks install запускается, поваренные книги загружаются снова
  2. Постфикс необходимо удалять каждый раз, когда
0
задан 13 April 2017 в 15:14
1 ответ

Вы не используете папку хранилища berkshelf напрямую, это папка хранилища. Чтобы экспортировать в формате, который может использовать Chef, запустите berks vendor FOLDERNAME / .

2
ответ дан 4 December 2019 в 13:37

Теги

Похожие вопросы