如何删除JSON数据文件中的attribte集(在chef-client运行期间使用-j
)?可以说,我需要覆盖属性:
default['param']['myParam'] = 'A'
所以我创建了JSON文件:
{
"param" : {
"myParam" : "B"
}
}
在下一版本的cookbook中,此参数获取新值:C
。我将它从JSON数据文件中删除并想要使用这个新值,但是即使它不在JSON文件中,Chef也存储B
。
如何确保Chef会忽略旧属性?
答案 0 :(得分:1)
通过-j
设置的属性被置于normal
级别,该级别一直保持到清除状态。这就是我们不建议使用normal
级别或-j
属性的原因。您必须使用knife node edit
等工具手动清除它们。
答案 1 :(得分:0)
只有在运行chef-client后,您的属性才会更新。因此,在节点上运行chef-client并在之后验证属性值