4

質問

私はchef-soloの提供でvagrantを使用しています。

  1. 「デフォルトではない」属性をオーバーライドする方法は?
  2. シェフレシピを作成する場合、いつ「デフォルトではない」属性を使用する必要がありますか?

説明

openldap の属性で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'].

「デフォルトではない」属性をオーバーライドする方法は?

4

2 に答える 2

1

オーバーライド属性を使用します。あなたはそれらを異なる場所(レシピ、役割、環境)に設定することができます、おそらくあなたはあなたに適したものを見つけることができます。

于 2013-01-21T09:35:39.723 に答える
1

「デフォルトではない」属性は、チェーンの下位で評価されるため、デフォルトほど簡単に上書きすることはできません。基本的には、default、force_default、normal、override、force_override、automatic の連続です。何かをオーバーライドしたい場合は、リストのさらに下に移動してください。デフォルトを使用して上書きすることをお勧めします。

http://docs.opscode.com/essentials_cookbook_attribute_files.html#attribute-precedence

于 2013-05-14T17:32:23.010 に答える