我试图使用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提供的抽象之间感到困惑。如果我未能提供任何详细信息,请告知我们。
答案 0 :(得分:1)
对于它的价值,这是aws Chef Cookbook新版本的持续问题。最近的错误报告进一步证实了这一点:
https://github.com/chef-cookbooks/aws/issues/181#issuecomment-159687243
降级到v2.5.0解决了我的所有问题。