Chef infra “如何覆盖”;“不违约”;《流浪汉》和《厨师独奏》的属性? 问题:

Chef infra “如何覆盖”;“不违约”;《流浪汉》和《厨师独奏》的属性? 问题:,chef-infra,vagrant,Chef Infra,Vagrant,我用的是流浪汉和厨师独奏 如何覆盖“非默认”属性 如果我要创建厨师菜谱,我应该在什么时候使用“不默认”属性 描述 我在中看到了openldap['rootpw'] 我想覆盖属性的openldap['rootpw'] 我试图覆盖配置,如下所示 # Vagrantfile Vagrant::Config.run do |config| config.vm.provision :chef_solo do |chef| #.... chef.json = { 'roo

我用的是流浪汉和厨师独奏

  • 如何覆盖“默认”属性
  • 如果我要创建厨师菜谱,我应该在什么时候使用“默认”属性
  • 描述 我在中看到了
    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
    
    但是,属性并没有被覆盖

    我认为,如果属性是
    default['openldap']['rootpw']
    ,它就可以重写

    如何覆盖“默认”属性?

    使用覆盖属性。(配方、角色、环境),也许您可以找到适合您的属性。

    您不能像覆盖默认属性那样容易,因为它的计算结果位于链的下游。基本上,顺序是默认、强制默认、正常、覆盖、强制覆盖、自动的连续统一体。如果您想覆盖某些内容,只需在列表中再往下看。最佳做法是使用默认值并覆盖它们


    作为一个
    chef.json
    值,这看起来像什么?我认为通过chef.json是不可能的。很可能它是作为
    默认
    属性导入的,因此它们无法覆盖任何
    正常
    覆盖
    属性。请不要忘记将答案标记为正确!:)