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
ファイル内の同じデータ構造を使用して、構成をノード 1 ~ 3に適用し、構成をノード1 ~ 5params.pp
に適用するにはどうすればよいですか?appserver-mgr
*.mgr
appserver-wkr
*.wkr
このタスクに正規表現を使用できますか?