Chef infra OpsWorks:在配方运行中未找到Cookbook httpd

Chef infra OpsWorks:在配方运行中未找到Cookbook httpd,chef-infra,chef-recipe,berkshelf,aws-opsworks,Chef Infra,Chef Recipe,Berkshelf,Aws Opsworks,我刚刚开始与Chef和OpsWorks在AWS上合作,努力改进我们的基础设施 我在尝试运行一个配方时遇到了一些问题,我已经设置好要做(我认为)一些非常基本的事情(设置httpd等等) 在配置工作真正开始运行之前,我一直遇到包含菜谱的问题 以下是我得到的错误: ================================================================================ Recipe Compile Error in /var/lib/aws/op

我刚刚开始与Chef和OpsWorks在AWS上合作,努力改进我们的基础设施

我在尝试运行一个配方时遇到了一些问题,我已经设置好要做(我认为)一些非常基本的事情(设置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
也是必需的,但它不会出错


我看不出我做错了什么。我可能是个白痴。感谢您的帮助或想法。

IIUYC您需要将
http
cookbook依赖项添加到
Tokeniser
cookbook metadata.rb文件中,而不是添加到Berksfile中:

#Tokeniser/metadata.rb
取决于“httpd”,“大于0.3.3”

这同样适用于
php
deploy
烹饪书,记得把它们放在元数据文件中。

所以我最终找到了答案,我运行的是OpsWorks'Chef 12版本,它在服务器上不使用Berkshello,需要您使用
berks package
打包烹饪书,而不是从git回购中加载,除非您只有一本食谱或者不使用Berkself来管理依赖关系


Amazon文档很难找到,但它就在这里:

HttpD0.3.3没有要包含的配方。可能就是这样。如果从外部(超市)取货,也需要检查Berksfile