覆盖 Puppet 中的变量

覆盖 Puppet 中的变量

我的 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

相关内容