[英]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.