appserver
我的木偶模块中有一个模块。在该模块清单中,我有一个由文件params.pp
继承的init.pp
文件。在params.pp
文件中,我有以下数据结构。
$servers = {
appserver-mgr => { axis2 => {subDomain => 'mgt',},
carbon => {subDomain => 'mgt',},
serverOptions => '-Dsetup',
server_home => $carbon_home, },
appserver-wkr => { axis2 => {subDomain => 'worker', members => ['appserver-mgr2-ip']},
carbon => {subDomain => 'worker',},
serverOptions => '-DworkerNode=true',
server_home => $carbon_home, },
}
在我的init.pp
文件中,我使用上述数据结构按如下方式填充模板。
define fill_templates($axis2, $carbon, $clustering, $serverOptions, $server_home) {
$ipAdd = $::ipaddress
$hostName = $::hostname
if $hostName == "${name}" {
notify {"host name match found for $hostName for $ipAdd":}
file { "${server_home}/repository/conf/axis2/axis2.xml":
ensure => file,
content => template('appserver/axis2.xml.erb'),
}
->
file { "${server_home}/repository/conf/carbon.xml":
ensure => file,
content => template('appserver/carbon.xml.erb'),
}
->
file { "${server_home}/repository/conf/tomcat/catalina-server.xml":
ensure => file,
content => template('appserver/catalina-server.xml.erb'),
}
}
}
根据当前方法,如果找到匹配节点(例如appserver-mgr
),则检索相应的数据结构值并将其应用于模板。目前,这些脚本正在按预期工作。
现在我想改变它如下。
我有一个包含以下节点的集群。
appserver-mgr-1
appserver-mgr-2
appserver-mgr-3
appserver-wkr-1
appserver-wkr-2
appserver-wkr-3
appserver-wkr-4
appserver-wkr-5
通过在params.pp
文件中使用相同的数据结构,如何将appserver-mgr
配置应用到*.mgr
节点 1-3 并将appserver-wkr
配置应用到*.wkr
节点 1-5?
我可以为这个任务使用正则表达式吗?