我正在尝试使用 Puppet 在 Tomcat 上部署 Solr。当solr.war
复制到 时/var/lib/tomcat6/webapps/solr.war
,Tomcat 需要一些时间来注意到新添加的文件并部署它。部署步骤之一涉及将.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],
}
}