Vagrant bazı başlangıç Kukla yapılandırmasını başlatmak için Vagrant kullanıyorum ve modüller içine ekstra manifests yapmadan ve bu şekilde dahil olmadan kukla yürütme iş akışına birden fazla manifesto (sadece site.pp dışında) dahil / çalıştırmak nasıl karıştı.
Vagrant'ı işaret ettiğim kukla manifests dizininde (aşağıya bakın) yürütmek istediğim iki manifest var: site.pp ve 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
Şu anda site.pp hierasetup.pp çağıran manifest olmak yaşıyorum. Sitem.pp şöyle görünüyor:
File {
owner => 'root',
group => 'root',
mode => '0644',
}
import "hierasetup.pp"
include jboss
Ama "içe aktarma" kullanımdan kaldırılması hakkında bu hatayı alıyorum:
Uyarı: 'import' kullanımı /tmp/vagrant-puppet-1/manifests/site.pp:33 adresinde kullanımdan kaldırıldı. Bkz http://links.puppetlabs.com/puppet-import-deprecation (: 610: grammar.ra de _reduce_190' ')' de
"Bunun yerine denenecekler" altındaki referans URL'ye göre " Düğüm tanımlarınızı ayrı dosyalarda tutmak için ana manifest olarak bir dizin belirtin " yazıyor .
Dahası , ana tezahürlerdeki bu kukla dokümanı şöyle diyor:
" Önerilen: Ana manifest'i bir ENC'ye güvenmek yerine yoğun bir şekilde kullanıyorsanız, manifest ayarını $ confdir / manifests olarak değiştirmeyi düşünün. Bu, import anahtar kelimesinden kaçınırken üst düzey kodunuzu birden fazla dosyaya bölmenizi sağlar. aynı zamanda basit ortamların davranışlarıyla da eşleşecektir. "
Görünüşe göre, Kukla, Vagrant'ın bunun için bir hüküm yapacağını ve " puppet.manifest_file =" site.pp "satırını bırakıp bunun yerine tüm * .pp dosyalarının yürütüleceği ana dizin. Ancak Vagrant içinde bu satırı kaldırmak yalnızca yerine beklenen "default.pp" hakkında bir şikayet oluşturur:
kukla sağlayıcısı: * Yapılandırılmış Kukla manifest'i eksik. Lütfen mevcut bir bildirimin yolunu belirtin: /some/path/puppet_files/manifests/default.pp
Yani:
- Öncelikle, içindeki tüm * .pp dosyalarının yürütüleceği bir dizinin işaretleneceği şekilde, birden çok manifest'i doğru şekilde çağırmanın "yeni" (içe aktarılmayan) yolunu anlıyor muyum?
- Ve ikincisi, Vagrant, Kukla'nın “içe aktarma” yı kullanımdan kaldırmasıyla bağlantılı olarak dizinlere referans vermek için bu yeni değişikliği "yakaladı" mı?
Güncelleme: Shane sayesinde Vagrant'ın GitHub sorun izleyicisi sitesinde # 2 (Vagrant'ın kodu kukla manifest dizinlerine işaret etmek için yakalanmadı) ile ilgili sorun bildirildi ve o zamandan beri yama yapıldı: https://github.com/mitchellh/vagrant / sorunlar / 4169