[英]How to override “not default” attribute by vagrant with chef-solo?
我正在使用帶有廚師獨奏規定的流浪漢。
我在openldap['rootpw']
屬性中看到了openldap['rootpw']
我想重寫屬性的openldap['rootpw']
。
我試圖覆蓋配置,如下所示
# Vagrantfile
Vagrant::Config.run do |config|
config.vm.provision :chef_solo do |chef|
#....
chef.json = {
'rootpw' => 'xxxx....',
'openldap' => {
'rootpw' => 'xxxx....'
}
}
end
end
但是,屬性沒有被覆蓋。
我認為,如果attribute為default['openldap']['rootpw']
,則可以覆蓋。
如何覆蓋“ 非默認”屬性?
使用替代屬性。 您可以將它們設置在不同的位置 (配方,角色,環境),也許您可以找到適合自己的位置。
您不能像默認值那樣輕易地覆蓋“非默認值”屬性,因為它的評估價值較低。 基本上,順序是默認值,force_default,normal,override,force_override,automatic的連續體。 如果您想覆蓋某些內容,請在列表中進一步查找。 最佳做法是使用默認值並覆蓋它們。
http://docs.opscode.com/essentials_cookbook_attribute_files.html#attribute-precedence
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.