Chef / OpsWorks:实例在新发布的Windows cookbook版本上失败

时间:2018-03-24 09:43:21

标签: amazon-web-services chef aws-opsworks berkshelf

对于>=3.4.5食谱版本的windows版本,我们的实例构建失败了,因为我们仍然在Chef 11.10 / Berkshelf 3.2.0

我已将cookbook 'windows', '= 3.4.4'添加到Berksfile,但构建仍然失败,因为它仍在加载windows 4.1.1,即使添加了Berksfile条目。

如何覆盖OpsWorks以使用windows 3.4.4

这里是完整的错误日志:

Recipe Compile Error in /var/lib/aws/opsworks/cache.stage2/cookbooks/windows/resources/auto_run.rb


NoMethodError
-------------
undefined method `property' for #<Class:0x007f72ac6f8b20>


Cookbook Trace:
---------------
/var/lib/aws/opsworks/cache.stage2/cookbooks/windows/resources/auto_run.rb:22:in `class_from_file'


Relevant File Content:
----------------------
/var/lib/aws/opsworks/cache.stage2/cookbooks/windows/resources/auto_run.rb:

21:  
22>> property :program_name, String, name_property: true
23:  property :path, String, coerce: proc { |x| x.tr('/', '\\') }
24:  property :args, String
25:  property :root, Symbol,
26:           equal_to: %i(machine user),
27:           default: :machine
28:  
29:  alias_method :program, :path
30:  
31:  action :create do

2 个答案:

答案 0 :(得分:0)

在berksfile中添加以下内容,这应适用于11个以上的版本

cookbook'windows','&lt; = 1.44.3'

答案 1 :(得分:0)

我通过将其添加到Berksfile来修复此问题 cookbook'windows','= 2.0.2'

更新食谱,设置。我还把它添加到了错误的git分支中,因此丢失了大约20分钟。