Не удалось найти рецепт из кулинарной книги при запуске chef-client

#chef-infra #chef-recipe

#шеф-повар-инфра #шеф-рецепт

Вопрос:

Я пытаюсь протестировать кулинарную книгу в автономной системе с помощью chef-client, но продолжаю получать сообщение об ошибке для следующей команды.

Я могу запустить default.rb, используя

 sudo chef-client -z -o "recipe[kafkaSetup]"
  

Но когда я запускаю другой рецепт, я получаю сообщение об ошибке, как показано ниже в следующей команде.

 sudo chef-client -z -o "recipe[kafkaSetup::reBalanceCluster.rb]"
  
 [2016-10-18T06:09:33-04:00] WARN: No config file found or specified on command line, using command line options.
Starting Chef Client, version 12.12.15
[2016-10-18T06:09:37-04:00] WARN: Run List override has been provided.
[2016-10-18T06:09:37-04:00] WARN: Original Run List: []
[2016-10-18T06:09:37-04:00] WARN: Overridden Run List: [recipe[kafkaSetup::reBalanceCluster.rb]]
resolving cookbooks for run list: ["kafkaSetup::reBalanceCluster.rb"]
Synchronizing Cookbooks:
  - kafkaSetup (0.1.0)
Installing Cookbook Gems:
Compiling Cookbooks...

================================================================================
Recipe Compile Error
================================================================================

Chef::Exceptions::RecipeNotFound
--------------------------------
could not find recipe reBalanceCluster.rb for cookbook kafkaSetup

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


Running handlers:
[2016-10-18T06:09:37-04:00] ERROR: Running exception handlers
Running handlers complete
[2016-10-18T06:09:37-04:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 04 seconds
[2016-10-18T06:09:37-04:00] FATAL: Stacktrace dumped to /root/.chef/local-mode-cache/cache/chef-stacktrace.out
[2016-10-18T06:09:37-04:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2016-10-18T06:09:37-04:00] ERROR: could not find recipe reBalanceCluster.rb for cookbook kafkaSetup
[2016-10-18T06:09:39-04:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited
unsuccessfully (exit code 1)
  

Что я делаю не так? Любая помощь будет оценена.

Ответ №1:

Имя рецепта не содержит расширения файла ( .rb ), поэтому его следует опустить при указании списка выполнения:

 sudo chef-client -z -o "recipe[kafkaSetup::reBalanceCluster]"
  

Это предполагает, что существует файл recipes/reBalanceCluster.rb . Для сохранения я бы также предложил везде использовать нижний регистр. Это может вообще не сработать. Так что лучше переименуйте файл в rebalancecluster.rb и используйте:

 sudo chef-client -z -o "recipe[kafkaSetup::rebalancecluster]"