मैं कुछ प्रारंभिक कठपुतली विन्यास शुरू करने के लिए वैग्रांत का उपयोग कर रहा हूं और कठपुतली निष्पादन वर्कफ़्लो में मल्टीपल मैनिफ़ेस्ट्स बनाने और उन्हें शामिल करने के बिना कई मैनिफ़ेस्ट (सिर्फ site.pp) को शामिल करने / चलाने के तरीके पर भ्रमित हूं।
कठपुतली मैनिफ़ेस्ट निर्देशिका में जो मैं वैग्रेंट को (नीचे देखें) इंगित करता हूं मेरे पास दो मैनिफ़ेस्ट हैं जिन्हें मैं निष्पादित करता हूं: site.pp और hierasetup.pp।
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "puppet_files/manifests"
puppet.module_path = "puppet_files/modules"
puppet.manifest_file = "site.pp"
puppet.options = "--verbose --debug"
end
वर्तमान में मैं site.pp हो रहा हूं जो कि hierasetup.pp कहता है। मेरा site.pp इस तरह दिखता है:
File {
owner => 'root',
group => 'root',
mode => '0644',
}
import "hierasetup.pp"
include jboss
लेकिन मुझे यह त्रुटि "आयात" के पदावनति के बारे में है:
चेतावनी: 'आयात' का उपयोग /tmp/vagrant-puppet-1/manifests/site.pp:33 पर किया गया है। देखें http://links.puppetlabs.com/puppet-import-deprecation (: 610: ' `_reduce_190 में grammar.ra पर)
"इसके बजाय प्रयास करने के लिए चीज़ें" के अंतर्गत संदर्भित URL के अनुसार "यह कहता है" अपनी नोड परिभाषाओं को अलग-अलग फ़ाइलों में रखने के लिए, अपनी मुख्य अभिव्यक्ति के रूप में एक निर्देशिका निर्दिष्ट करें "।
इसके अलावा मुख्य कठपुतली पर यह कठपुतली डॉक्टर कहते हैं:
" अनुशंसित:। आप मुख्य प्रकट उपयोग कर रहे हैं भारी बजाय एक ENC पर भरोसा, $ confdir को प्रकट सेटिंग बदलने पर विचार / प्रकट होता है यह आपको अधिक फ़ाइलों में अपने उच्चतम स्तर के कोड को विभाजित करते हुए आयात कीवर्ड से परहेज की सुविधा देता है यह। साधारण वातावरण के व्यवहार से भी मेल खाएगा। ”
ऐसा प्रतीत होता है कि कठपुतली सिर्फ एक विशिष्ट मेनिफ़ेस्ट फ़ाइल के बजाय एक संपूर्ण निर्देशिका का संदर्भ दे सकती है, जैसे कि मैं उम्मीद करूंगा कि वैग्रांत इसके लिए एक प्रावधान करेगा और मुझे " कठपुतली.निफ़ेस्ट_फाइल =" site.pp "लाइन" को इंगित करने और इंगित करने की अनुमति देगा। इसके बजाय माता-पिता निर्देशिका जिसमें सभी * .pp फाइलें निष्पादित की जाएंगी। हालांकि, वैग्रांत में उस लाइन को हटाने से केवल इसके बजाय एक अपेक्षित "default.pp" के बारे में एक शिकायत उत्पन्न होती है:
कठपुतली का प्रावधान: * कॉन्फ़िगर कठपुतली प्रकट गायब है। कृपया किसी मौजूदा मेनिफ़ेस्ट का पथ निर्दिष्ट करें: /some/path/puppet_files/manifests/default.pp
इसलिए:
- सबसे पहले, क्या मैं "नया" (गैर-आयात) तरीके से कई अभिव्यक्तियों को सही ढंग से कॉल करने के तरीके को समझता हूं, जिसमें एक निर्देशिका को इंगित किया जाना है जिसमें इसके अंदर सभी * .pp फाइलें निष्पादित की जाएंगी?
- और दूसरी बात, वैग्रैंट ने "आयात" के पपेट के चित्रण के साथ निर्देशिका के संदर्भों को समायोजित करने के लिए इस नए बदलाव के साथ "पकड़ा" है?
अपडेट: # 2 के साथ इस मुद्दे के लिए शेन का धन्यवाद (वैग्रांत का कोड कठपुतली की निर्देशिका को इंगित करने की अनुमति देने के लिए पकड़ा नहीं जा रहा) विक्रांत के GitHub मुद्दे ट्रैकर साइट पर रिपोर्ट किया गया था और तब से पैच किया गया है: https://githind.com/mitchellh/vagrant / मुद्दों / 4169