मुसीबत: जब मैं पहली बार बॉक्स को व्यवस्थित करने के लिए कठपुतली चलाता हूं, तो मेरे पास निर्भरता विफल हो जाएगी और इन त्रुटियों वाली फाइलेंapache-solr-dataimporthandler-3.6.1.jar
) अपने लक्ष्य गंतव्य के लिए नकल नहीं कर रहे हैं। हालाँकि, दूसरी बार प्रावधान करने से अब निर्भरता की त्रुटियां नहीं हैं और सभी फाइलें सही तरीके से कॉपी की जाती हैं।
पुन: प्रावधान के बिना निर्भरता त्रुटियों को कैसे हल किया जा सकता है? ये क्यों हो रहा है?
प्रकट
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"],
}
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["/var/lib/tomcat6/webapps/solr.war"], File["/usr/share/solr"] ],
}
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["/var/lib/tomcat6/webapps/solr.war"],
notify => Service["tomcat"],
}
त्रुटि
←[0;36mnotice: /Stage[main]/Solr/File[/var/lib/tomcat6/webapps/solr.war]/ensure: defined content as"{md5}ae7997a401f9d223b097f8a88259689e"←[0m
←[1;35merr: /Stage[main]/Solr/File[/var/lib/tomcat6/webapps/solr/WEB-INF/lib/apache-solr-dataimporthandler-3.6.1.jar]/ensure: change from absent to file failed: Could not set "file on ensure: No such file or directory - /var/lib/tomcat6/webapps/solr/WEB-INF/lib/apache-solr-dataimporthandler-3.6.1.jar.puppettmp_4049 at /tmp/vagrant-puppet/modules-0/solr/manifests/init.pp:37←[0m
←[0;36mnotice: /Stage[main]/Solr/File[/usr/share/solr]/ensure: created←[0m
...
...
...
←[0;36mnotice: /Stage[main]/Tomcat/Service[tomcat]: Dependency File[/var/lib/tomcat6/webapps/solr/WEB-INF/lib/apache-solr-dataimporthandler-3.6.1.jar] has failures: true←[0m
←[0;33mwarning: /Stage[main]/Tomcat/Service[tomcat]: Skipping because of failed dependencies←[0m
←[0;36mnotice: /Stage[main]/Tomcat/Service[tomcat]: Triggered "refresh" from 6 events←[0m
←[0;36mnotice: /Stage[main]/Solr/File[/var/lib/tomcat6/webapps/solr/WEB-INF/web.xml]/content: content changed "{md5}1b3a494d9ddefb9bef08caa5146cfd32" to "{md5}f3b9d07f7585ef8008f2bcf0407596f2"←[0m
←[0;36mnotice: /Stage[main]/Solr/File[/var/lib/tomcat6/webapps/solr/WEB-INF/web.xml]/owner: owner changed "tomcat6" to "root"←[0m
←[0;36mnotice: /Stage[main]/Solr/File[/var/lib/tomcat6/webapps/solr/WEB-INF/web.xml]/group: group changed "tomcat6" to "root"←[0m
←[0;36mnotice: Finished catalog run in 18.90 seconds←[0m
निर्देशिका संरचना
उत्तर:
जवाब के लिए 0 № 1यह मुझे लगता है कि कठपुतली को शिकायत है कि निर्देशिका /var/lib/tomcat6/webapps/solr/WEB-INF/lib/
जब यह बनाने की कोशिश करता है तो मौजूद नहीं होता है /var/lib/tomcat6/webapps/solr/WEB-INF/lib/apache-solr-dataimporthandler-3.6.1.jar
.
मुझे संदेह है कि यह निर्देशिका नई बनने पर बनाई गई है .war
टॉमकैट द्वारा पता लगाया जाता है, लेकिन यह बहुत देर से होता है और आपको कठपुतली को स्थानांतरित करना होगा।
तो आप इस dir के निर्माण को स्पष्ट रूप से सुनिश्चित करना चाहते हैं:
file
{
"/var/lib/tomcat6/webapps/solr":
ensure => directory,
;
"/var/lib/tomcat6/webapps/solr/WEB-INF":
ensure => directory,
;
"/var/lib/tomcat6/webapps/solr/WEB-INF/lib":
ensure => directory,
;
}
("आवश्यकता" को छोड़ना क्योंकि ऐसा लगता है कि कठपुतली उन्हें उस क्रम में बनाती है जिसे वे परिभाषित करते हैं)
मैं एक टॉमकैट विशेषज्ञ नहीं हूं, लेकिन आप यह सुनिश्चित करना चाहते हैं कि डायर को मैन्युअल रूप से बनाने से टॉमकवर .war ऑटो-डिटेक्शन सिस्टम में हस्तक्षेप नहीं होगा।