Я хотел бы изменить одно имя свойства («modcluster.proxylist») с помощью команды setm и ограничения в Puppet. Следующий код не проверяет мое ограничение. Буду признателен за любую оказанную помощь.
Ниже приведен мой исходный XML, который я хотел бы изменить.
Ограничение: в приведенном ниже примере у Two Group нет имени свойства. В этих группах изменения не должны применяться.
<server-groups>
<server-group name="ServiceGroupOne" profile="full-ha">
<system-properties>
<property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
<property name="modcluster.proxylist" value="192.168.79.77:7777" boot-time="true"/>
<property name="modcluster.lbgroup" value="SearchGroupOne" boot-time="true"/>
</system-properties>
</server-group>
<server-group name="ServiceGroupTwo" profile="full-ha">
<system-properties>
<property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
<property name="modcluster.lbgroup" value="SearchGroupTwo" boot-time="true"/>
</system-properties>
</server-group>
<server-group name="ServiceGroupThree" profile="full-ha">
<system-properties>
<property name="modcluster.lbgroup" value="CommonSearchGroup" boot-time="true"/>
<property name="modcluster.proxylist" value="192.168.79.77:7777" boot-time="true"/>
<property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
</system-properties>
</server-group>
<server-group name="ServiceGroupFour" profile="full-ha">
</server-group>
</server-groups>
Код Augeas:
Следующий код редактирует все группы серверов. Он также вставляет вторую и четвертую группы серверов, в которых у нас нет свойства ( modcluster.proxylist ).
augeas { "jboss_domain_config":
incl => "${dc_home}/domain/configuration/domain.xml",
lens => "Xml.lns",
changes => "setm /files/${dc_home}/domain/configuration/domain.xml/domain/server-groups/server-group system-properties/property[#attribute/name='modcluster.proxylist']/#attribute/value ${proxylist}",
require => File["${dc_home}/domain/configuration/domain.xml"],
}
server-groups
, иначе путь в вашем примере Puppet не имеет смысла. - person raphink   schedule 15.02.2016require
в коде Puppet. Вы пытаетесь управлять этим файлом дважды? - person raphink   schedule 15.02.2016