清除JSON文件中设置的属性

时间:2017-11-17 08:11:25

标签: chef

如何删除JSON数据文件中的attribte集(在chef-client运行期间使用-j)?可以说,我需要覆盖属性:

default['param']['myParam'] = 'A'

所以我创建了JSON文件:

{
 "param" : {
    "myParam" : "B"
 }
}

在下一版本的cookbook中,此参数获取新值:C。我将它从JSON数据文件中删除并想要使用这个新值,但是即使它不在JSON文件中,Chef也存储B

如何确保Chef会忽略旧属性?

2 个答案:

答案 0 :(得分:1)

通过-j设置的属性被置于normal级别,该级别一直保持到清除状态。这就是我们不建议使用normal级别或-j属性的原因。您必须使用knife node edit等工具手动清除它们。

答案 1 :(得分:0)

只有在运行chef-client后,您的属性才会更新。因此,在节点上运行chef-client并在之后验证属性值