Puppetを使用してSolrをTomcatにデプロイしようとしています。にsolr.war
コピーされると/var/lib/tomcat6/webapps/solr.war
、Tomcatは新しく追加されたファイルに気づき、それをデプロイするのに少し時間がかかります。展開手順の1つは、.war
ファイルを/var/lib/tomcat6/webapps/solr/
ディレクトリに展開することです。
問題: Tomcatがこの構造をデプロイして作成した後apache-solr-dataimporthandler-3.6.1.jar
、さらにファイル(など)を追加しようとしています。以下のマニフェストが実行しているように、tomcatが実行する前にフォルダーを作成した場合、tomcatはSolrをデプロイしません。/var/lib/tomcat6/webapps/solr/
solr.war
/var/lib/tomcat6/webapps/solr/
新しく作成されたディレクトリにファイルを追加する前に、Puppetにtomcatがsolrをデプロイするのを待たせることは可能ですか?
マニフェスト
class solr {
file { '/var/lib/tomcat6/webapps/solr.war':
ensure => present,
owner => root,
group => root,
mode => 644,
source => 'puppet:///modules/solr/apache-solr-3.6.1.war',
notify => Service['tomcat'],
}
file { '/usr/share/solr':
ensure => present,
source => 'puppet:///modules/solr/solr',
recurse => true,
require => File['/var/lib/tomcat6/webapps/solr.war'],
notify => Service['tomcat'],
}
$solr_dirs = [ "/var/lib/tomcat6/webapps/solr/", "/var/lib/tomcat6/webapps/solr/WEB-INF/",
"/var/lib/tomcat6/webapps/solr/WEB-INF/lib/"]
file { $solr_dirs:
ensure => "directory",
}
file { '/var/lib/tomcat6/webapps/solr/WEB-INF/web.xml':
ensure => present,
owner => root,
group => root,
mode => 644,
source => 'puppet:///modules/solr/web.xml',
require => File[$solr_dirs],
}
file { '/var/lib/tomcat6/webapps/solr/WEB-INF/lib/apache-solr-dataimporthandler-3.6.1.jar':
ensure => present,
owner => root,
group => root,
mode => 644,
source => 'puppet:///modules/solr/apache-solr-dataimporthandler-3.6.1.jar',
require => File[$solr_dirs],
}
}