2016-01-20 1 views
1

Я только начал работать с шеф-поваром и OpsWorks на AWS, чтобы улучшить нашу инфраструктуру.OpsWorks: Cookbook httpd не найден при запуске рецепта

У меня возникли проблемы при попытке запустить рецепт, который я настроил, чтобы сделать (я думаю) некоторые довольно простые вещи (настройка httpd и т. Д.).

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

Здесь ошибка я получаю:

================================================================================ 
Recipe Compile Error in /var/lib/aws/opsworks/cache.stage2/cookbooks/Tokeniser/recipes/default.rb 
================================================================================ 


Chef::Exceptions::CookbookNotFound 
---------------------------------- 
Cookbook httpd not found. If you're loading httpd from another cookbook, make sure you configure the dependency in your metadata 


Cookbook Trace: 
--------------- 
/var/lib/aws/opsworks/cache.stage2/cookbooks/Tokeniser/recipes/default.rb:12:in `from_file' 


Relevant File Content: 
---------------------- 
/var/lib/aws/opsworks/cache.stage2/cookbooks/Tokeniser/recipes/default.rb: 

5: # Copyright (C) 2016 YOUR_NAME 
6: # 
7: # All rights reserved - Do Not Redistribute 
8: # 
9: 
10: include_recipe("deploy") 
11: include_recipe("php") 
12>> include_recipe("httpd") 
13: 
14: package 'apache2' do 
15: case node[:platform] 
16: when 'centos','redhat','fedora','amazon' 
17:  package_name 'httpd' 
18: when 'debian','ubuntu' 
19:  package_name 'apache2' 
20: end 
21: action :install 

Это после того, как у меня уже есть в моем корне, который состоит из berksfile:

source "https://supermarket.chef.io" 

metadata 

cookbook 'httpd', '~> 0.3.3' 
cookbook 'php', '~> 1.7.2' 
cookbook 'magic_shell', '~> 1.0.0' 
cookbook 'composer', '~> 2.2.1' 

Провала журнала даже заметки httpd рецепт:

[2016-01-20T16:18:17+00:00] INFO: 
Resolving cookbook dependencies... 
Fetching 'Tokeniser' from source at . 
Fetching cookbook index from https://supermarket.chef.io... 
Using Tokeniser (0.1.0) from source at . 
Installing build-essential (2.2.4) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing chef-sugar (3.3.0) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing chef_handler (1.2.0) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing compat_resource (12.5.26) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing composer (2.2.1) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing httpd (0.3.3) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing iis (4.1.5) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing magic_shell (1.0.0) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing mysql (6.1.2) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing php (1.7.2) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing rbac (1.0.3) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing smf (2.2.7) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing windows (1.39.1) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing xml (2.0.0) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing yum (3.9.0) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing yum-epel (0.6.5) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Installing yum-mysql-community (0.1.21) from https://supermarket.chef.io ([opscode] https://supermarket.chef.io:443/api/v1) 
Vendoring Tokeniser (0.1.0) to /opt/aws/opsworks/current/berkshelf-cookbooks/Tokeniser 
Vendoring build-essential (2.2.4) to /opt/aws/opsworks/current/berkshelf-cookbooks/build-essential 
Vendoring chef-sugar (3.3.0) to /opt/aws/opsworks/current/berkshelf-cookbooks/chef-sugar 
Vendoring chef_handler (1.2.0) to /opt/aws/opsworks/current/berkshelf-cookbooks/chef_handler 
Vendoring compat_resource (12.5.26) to /opt/aws/opsworks/current/berkshelf-cookbooks/compat_resource 
Vendoring composer (2.2.1) to /opt/aws/opsworks/current/berkshelf-cookbooks/composer 
Vendoring httpd (0.3.3) to /opt/aws/opsworks/current/berkshelf-cookbooks/httpd 
Vendoring iis (4.1.5) to /opt/aws/opsworks/current/berkshelf-cookbooks/iis 
Vendoring magic_shell (1.0.0) to /opt/aws/opsworks/current/berkshelf-cookbooks/magic_shell 
Vendoring mysql (6.1.2) to /opt/aws/opsworks/current/berkshelf-cookbooks/mysql 
Vendoring php (1.7.2) to /opt/aws/opsworks/current/berkshelf-cookbooks/php 
Vendoring rbac (1.0.3) to /opt/aws/opsworks/current/berkshelf-cookbooks/rbac 
Vendoring smf (2.2.7) to /opt/aws/opsworks/current/berkshelf-cookbooks/smf 
Vendoring windows (1.39.1) to /opt/aws/opsworks/current/berkshelf-cookbooks/windows 
Vendoring xml (2.0.0) to /opt/aws/opsworks/current/berkshelf-cookbooks/xml 
Vendoring yum (3.9.0) to /opt/aws/opsworks/current/berkshelf-cookbooks/yum 
Vendoring yum-epel (0.6.5) to /opt/aws/opsworks/current/berkshelf-cookbooks/yum-epel 
Vendoring yum-mysql-community (0.1.21) to /opt/aws/opsworks/current/berkshelf-cookbooks/yum-mysql-community 

И как вы можете видеть php также требуется, но это не ошибка там.

Я не вижу, что я делаю неправильно. Я, наверное, идиот. Любая помощь или идеи оцениваются.

+1

HTTPD 0.3.3 не имеет рецепт, чтобы включить. Вероятно, это так. Проверьте https://supermarket.chef.io/cookbooks/httpd – fabiim

ответ

0

Итак, я наконец нашел ответ на это, что я работал на версии OpsWorks Chef 12, которая не использует Berkshelf на сервере и требует, чтобы вы упаковывали свои кулинарные книги с помощью berks package, вместо того, чтобы загружать из git repo , если у вас нет только одной поваренной книги или не используйте berkshelf для управления зависимостями.

Документация Amazon сложно найти, но здесь: http://docs.aws.amazon.com/opsworks/latest/userguide/best-practices-packaging-cookbooks-locally.html

2

IIUYC вам нужно добавить зависимость http кулинарной к metadata.rb файл Tokeniser поваренной , а не к Berksfile:

# Tokeniser/metadata.rb 

depends 'httpd', '~> 0.3.3' 

То же самое относится и к php и deploy кулинарных книг, не забудьте положить их в файле метаданных.

+1

Berksfile также потребуется, если вы получите от внешнего (супермаркета) –