我的 solr puppet fle 中有这个:
define solr::core(
$solr_home = "/opt/solr",
$schema_xml = "searchapi_schema.xml",
$solrconfig_xml = "searchapi_solrconfig.xml",
$user = 'jetty'
) { ..
我想在我的节点中覆盖 $schema_xml 和 $solrconfig_xml 的变量,我该如何以一种好的方式做到这一点?
我尝试过这个:
node web02 inherits webbasenode {
$schema_xml = "apachesolr_schema.xml"
$solrconfig_xml = "apachesolr_solrconfig.xml"
...
但这并没有成功。
答案1
实例化资源时传递变量:
node 'web02' {
solr::core { 'myservername':
schema_xml => 'apachesolr_schema.xml',
solrconfig_xml => 'searchapi_solrconfig.xml',
}
}
答案2
如果你使用 hiera 你可以这样做
在你的清单中
$schema_xml = hiera ( 'schema_xml_h' , 'default_value' )
$solrconfig_xml = hiera ( 'solrconfig_xml_h', 'other_default_value')
并在希腊
$schema_xml: something
solrconfig_xml_h : something_else