2016-09-21 1 views
0

Я пытаюсь запустить шеф-соло, и у меня есть следующая конфигурацияПроблемы с шеф-соло "пропавшим без вести" Cookbooks

/var/chef 

├── cookbooks 
│   ├── cc_db 
│   │   ├── Berksfile 
│   │   ├── Berksfile.lock 
│   │   ├── chefignore 
│   │   ├── metadata.rb 
│   │   ├── recipes 
│   │   │   └── default.rb 
├── node.json 
└── solo.rb 

node.json

{ 
    "run_list": [ "recipe[cc_db]" ] 
} 

solo.rb

file_cache_path "/var/chef" 
    cookbook_path "/var/chef/cookbooks" 
    json_attribs "/var/chef/node.json" 

metadata.rb

depends 'database', '~> 5.1.2' 
depends 'mysql2_chef_gem', '~> 1.0' 

Я получил это, чтобы работать в среде тестирования на кухне, но сейчас я пытаюсь использовать его на другом сервере, используя шеф-повара.

Всякий раз, когда я бегу: шеф-соло -c solo.rb

я получаю:

resolving cookbooks for run list: ["cc_db"] 

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

Missing Cookbooks: 
------------------ 
No such cookbook: database 

Expanded Run List: 
------------------ 
* cc_db 

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


Running handlers: 
[2016-09-20T15:34:05-04:00] ERROR: Running exception handlers 
Running handlers complete 
[2016-09-20T15:34:05-04:00] ERROR: Exception handlers complete 
Chef Client failed. 0 resources updated in 02 seconds 
[2016-09-20T15:34:05-04:00] FATAL: Stacktrace dumped to /var/chef/chef-stacktrace.out 
[2016-09-20T15:34:05-04:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report 
[2016-09-20T15:34:05-04:00] ERROR: 412 "Precondition Failed" 
[2016-09-20T15:34:05-04:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

Я запутался, потому что поваренной базы данных, как представляется, установлен с Berks, но повар ISN» т собирать его.

всякая помощь была бы принята с благодарностью.

спасибо. милей.

ответ

0

Шеф-повар напрямую не интегрируется с Berkshelf, поэтому chef-solo ничего не знает об этом. Обычно вы использовали бы что-то вроде knife-solo, которое связывает их вместе, но вы также можете сделать это вручную. Запустите berks vendor /path/to/a/folder, а затем установите эту папку как cookbook_path.

0

В конце концов я столкнулся с проблемой.

Я установил chef-сервер на виртуальном хосте и проведу на этом тестирование. Я создал узлы, загрузил их, а затем запустил chef-client на узле.

У меня также нет очень большой конфигурации сервера, поэтому я просто загрузил кулинарные книги и зависимые кулинарные книги руками. Который я довольно уверен, почему chef-ноль терпел неудачу. В какой-то момент в будущем я возьму Berkshelf, работая вместе со всем, чтобы облегчить процесс зависимости поваренной книги.

Смежные вопросы