Chef infra 属性:Apache2烹饪书[COOK-3900 branch]和Ubuntu 14.04

Chef infra 属性:Apache2烹饪书[COOK-3900 branch]和Ubuntu 14.04,chef-infra,chef-recipe,Chef Infra,Chef Recipe,我刚刚发现Ubuntu14.04的分支被破坏了,因为新的2.4版本有问题,建议使用分支修改apache.version属性 在apache2/attributes/default.rb文件中有一行: default['apache']['version']='2.2' 如果我编辑烹饪书并将值更改为'2.4',则一切正常。但是我正在对食谱进行分支,我不想这样做,所以我创建了一个自定义食谱,并将其插入文件my_apache2/recipes/default.rb: node.override['a

我刚刚发现Ubuntu14.04的分支被破坏了,因为新的2.4版本有问题,建议使用分支修改
apache.version
属性

apache2/attributes/default.rb文件中有一行:

default['apache']['version']='2.2'
如果我编辑烹饪书并将值更改为
'2.4'
,则一切正常。但是我正在对食谱进行分支,我不想这样做,所以我创建了一个自定义食谱,并将其插入文件
my_apache2/recipes/default.rb

node.override['apache']['version']='2.4'
包括“apt”
包括配方“apache2”
包括配方“apache2::mod_php5”
包括“apache2::mod_rewrite”
但是chef试图安装版本
2.2
,结果崩溃了

我想我对属性优先级有些不太了解


编辑:这个问题让我赢得了徽章。。。耶

您可以将此行添加到您的
my_apache2/attributes/default.rb
,无需在配方中添加
节点

/*******************************************************************************
/ 
/ NOTE: This question is not valid any more, as there's a new version of the 
/       cookbook that solves the problem.
/
/*******************************************************************************

谢谢你的回答。你的解决方案有效。另一方面,我很好奇为什么我的配置不能与本食谱一起使用,这是一种预期的行为吗?Node.override应该优先于默认值,不是吗?无法确定为什么行不起作用;我不知道你的设置中是否有其他原因导致了这种情况。
default['apache']['version'] = '2.4'