覆盖默认的cookbook chef变量

时间:2016-01-27 16:45:52

标签: apache-spark chef chef-solo

我正在寻找有关如何覆盖第三方食谱中的默认值的具体说明。例如,我正在使用apache_spark食谱(https://github.com/clearstorydata-cookbooks/apache_spark

我想要覆盖该属性 default['apache_spark']['standalone']['master_host']

我尝试了制作一个主要配方,我在其中添加 node.default['apache_spark']['standalone']['master_host'] = 'foo.com'

使用大厨独奏执行它,如:

run_list(
  'recipe[main]',
  'recipe[apache_spark::spark-standalone-worker]'
)

但这似乎不起作用。有关如何完成的任何建议? 我的主要食谱是https://github.com/Vibhuti/chef-main

1 个答案:

答案 0 :(得分:5)

正确的解决方法是制作包装器食谱并在食谱的属性文件(main/attributes/default.rb)中设置您的值:

override['apache_spark']['standalone']['master_host'] = 'foo.com'

还要确保在main metadata.rb中添加依赖项以强制加载顺序正确无误:

depends 'apache_spark'