OpsWorks厨师AWS Cookbook未初始化的常量Aws

时间:2015-11-27 16:04:14

标签: chef aws-sdk cookbook aws-opsworks

我试图使用chef-cookbooks / aws(https://github.com/chef-cookbooks/aws)中的s3_file。我尝试了以下几种变体,但都失败了:

include_recipe 'aws'
include_recipe 's3_file'

aws_s3_file '/usr/local/file.tar.gz' do
  bucket 'my-bucket'
  remote_path 'file.tar.gz'
  owner 'user'
  group 'user'
  aws_access_key_id 'secret'
  aws_secret_access_key 'secret'
end

这是我的错误:

  

NameError
  ---------
  未初始化的常数Aws

我在几周内一直在观看两个相关问题:

[1] https://github.com/chef-cookbooks/aws/pull/183#issuecomment-159456234
[2] https://github.com/chef-cookbooks/aws/issues/181#issuecomment-159687243

问题#183从aws cookbook中引用以下内容:

https://github.com/chef-cookbooks/aws#defaultrb

The default recipe installs the aws-sdk Ruby Gem, which this cookbook requires
in order to work with the EC2 API. Make sure that the aws recipe is in the 
node or role run_list before any resources from this cookbook are used.

    "run_list": [
      "recipe[aws]"
    ]

我确实看到正在安装所需的宝石。我还看到aws和s3_file cookbook安装在berkshelf-cookbooks的实例上。

我不明白如何将aws配方添加到OpsWorks中的run_list。我已经尝试直接执行aws :: default而没有运气。有人可以向我提供一个示例或者如何将配方添加到OpsWorks中的run_list中吗?

我怀疑我的问题是新问题。我可能会在基于烹饪的俗气术语(双关语)和OpsWorks提供的抽象之间感到困惑。如果我未能提供任何详细信息,请告知我们。

1 个答案:

答案 0 :(得分:1)

对于它的价值,这是aws Chef Cookbook新版本的持续问题。最近的错误报告进一步证实了这一点:

https://github.com/chef-cookbooks/aws/issues/181#issuecomment-159687243

降级到v2.5.0解决了我的所有问题。