覆盖弹性搜索食谱中的属性
override attributes in elasticsearch cookbook
我正在尝试将 "elasticsearch/cookbook-elasticsearch" 食谱用于我的包装食谱。我想在我的包装器食谱中覆盖以下来自 cookbook-elasticsearch 的默认属性。
default.elasticsearch[:rpm_url] = "https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.12.noarch.rpm"
default.elasticsearch[:rpm_sha] = "ab7ea2e00d8f1b73642e3ea44d9647b11e6b0b96"
食谱:https://github.com/elasticsearch/cookbook-elasticsearch
如何在 my-elasticsearch 食谱中执行此操作?
cat site-cookbooks/my-elasticsearch/attributes/default.rb
override.elasticsearch[:rpm_url] = "https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm"
override.elasticsearch[:rpm_sha] = "ec8b41c54a6d897479645b2507476e0824bc71db"
这是正确的吗?
我想将这本食谱用于厨师 10
任何帮助
向@mark-oconnor 评论添加信息:
Documentation about attributes in chef 10。
推荐的表示法是override['elasticsearch']['rpm_url'] = "new_value"
访问属性的方法和符号方式在过去一直存在问题。
由于厨师 10 中的食谱加载顺序并不总是可以清楚地预测,因此您必须使用 override
级别来确保在编译食谱时使用正确的值。
评论后编辑:
在版本 0.3.13 的 elasticsearch cookbook 中,默认配方从 tarball 安装。
如果你想使用打包安装,你必须在默认之前调用相应的配方,因为在默认配方中,如果已经安装了 elasticsearch,则不会安装 tarball。
此特定案例的包装食谱中的正确配方是:
include_recipe 'elasticsearch::rpm' # Take the overriden attributes and install package
include_recipe 'elasticsearch' # no need to ::default, if omitted it's the recipe loaded
我正在尝试将 "elasticsearch/cookbook-elasticsearch" 食谱用于我的包装食谱。我想在我的包装器食谱中覆盖以下来自 cookbook-elasticsearch 的默认属性。
default.elasticsearch[:rpm_url] = "https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.12.noarch.rpm"
default.elasticsearch[:rpm_sha] = "ab7ea2e00d8f1b73642e3ea44d9647b11e6b0b96"
食谱:https://github.com/elasticsearch/cookbook-elasticsearch
如何在 my-elasticsearch 食谱中执行此操作?
cat site-cookbooks/my-elasticsearch/attributes/default.rb
override.elasticsearch[:rpm_url] = "https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm"
override.elasticsearch[:rpm_sha] = "ec8b41c54a6d897479645b2507476e0824bc71db"
这是正确的吗?
我想将这本食谱用于厨师 10
任何帮助
向@mark-oconnor 评论添加信息:
Documentation about attributes in chef 10。
推荐的表示法是override['elasticsearch']['rpm_url'] = "new_value"
访问属性的方法和符号方式在过去一直存在问题。
由于厨师 10 中的食谱加载顺序并不总是可以清楚地预测,因此您必须使用 override
级别来确保在编译食谱时使用正确的值。
评论后编辑:
在版本 0.3.13 的 elasticsearch cookbook 中,默认配方从 tarball 安装。
如果你想使用打包安装,你必须在默认之前调用相应的配方,因为在默认配方中,如果已经安装了 elasticsearch,则不会安装 tarball。
此特定案例的包装食谱中的正确配方是:
include_recipe 'elasticsearch::rpm' # Take the overriden attributes and install package
include_recipe 'elasticsearch' # no need to ::default, if omitted it's the recipe loaded