0

我想更改 domain.xml(JBoss 配置文件)中的值。请建议我使用示例示例更改它的最佳方法。

我找到了以下方法。但不知道,如何对 xml 文件使用以下功能。

(i) 内联模板

(ii) 注册

我必须根据每个组更改以下四个属性。对于每个组,将更改 4 个属性的值。请向我推荐最佳行业实践标准。

<system-properties>
    <property name="jboss.default.multicast.address" value="230.0.1.1" boot-time="true"/>
    <property name="modcluster.balancer.name" value="mylb" boot-time="true"/>
    <property name="modcluster.proxylist" value="172.28.168.153:6777" boot-time="true"/>
    <property name="mycluster.modcluster.lbgroup" value="coollb" boot-time="true"/>
</system-properties>
4

1 回答 1

3

inline_template 在 master 上执行,因此它们不会解决您的问题。

最简单的解决方案是 erb 模板。但这意味着您将通过 puppet 控制整个文件,而不仅仅是属性。

最好的解决方案:xml 似乎有一个 augeas 镜头:https ://twiki.cern.ch/twiki/bin/view/Main/TerjeAndersenAugeas

编辑:

  • 在你的模块中有一个 erb 模板 (templates/jboss_config.xml.erb)

    <bla bla>....
    <system-properties>
        <property name="jboss.default.multicast.address" value="<%= @multicast_address %>" boot-time="true"/>
        <property name="modcluster.balancer.name" value="<%= @balancer_name %>" boot-time="true"/>
        <property name="modcluster.proxylist" value="<%= @proxylist %>" boot-time="true"/>
        <property name="mycluster.modcluster.lbgroup" value="<%= @lbgroup %>" boot-time="true"/>
    </system-properties>
    </bla bla>....
    

在您的 puppet 类中声明参数/变量(如果您想根据某些事实进行覆盖,这些参数/变量也可以来自 hiera):

    $multicast_address = '230.0.1.1'
    $balancer_name = 'mylb'
    $proxylist = '172.28.168.153:6777'
    $lbgroup = 'coollb'

    # and write your file:
    file { 'jboss_config_file':
      ensure  => file,
      path    => '/path/to/jboss/config/file.xml',
      content => template("${module_name}/jboss_config.xml.erb"),
    }
于 2015-11-04T21:07:30.467 回答