Saya menggunakan Vagrant untuk melompat memulai beberapa konfigurasi Wayang awal dan saya bingung tentang cara memasukkan / menjalankan beberapa manifes (selain hanya site.pp) dalam alur kerja eksekusi boneka tanpa membuat manifes tambahan ke dalam modul dan memasukkannya dengan cara itu.
Dalam direktori manifes boneka yang saya arahkan ke Vagrant (lihat di bawah) saya memiliki dua manifes yang ingin saya jalankan: site.pp dan 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
Saat ini saya memiliki site.pp menjadi manifes yang memanggil hierasetup.pp. Site.pp saya terlihat seperti ini:
File {
owner => 'root',
group => 'root',
mode => '0644',
}
import "hierasetup.pp"
include jboss
Tapi saya mendapatkan kesalahan ini tentang penghentian "impor":
Peringatan: Penggunaan 'impor' tidak digunakan lagi di /tmp/vagrant-puppet-1/manifests/site.pp:33. Lihat http://links.puppetlabs.com/puppet-import-deprecation (di grammar.ra: 610: di `_reduce_190 ')
Menurut URL yang direferensikan di bawah "Hal yang harus dicoba" itu mengatakan " Untuk menjaga definisi simpul Anda dalam file yang terpisah, tentukan direktori sebagai manifes utama Anda ".
Lebih lanjut, dokumentasi boneka ini pada manifes utama mengatakan:
" Direkomendasikan: Jika Anda menggunakan manifes utama dan bukannya mengandalkan ENC, pertimbangkan untuk mengubah pengaturan manifes menjadi $ confdir / manifes. Ini memungkinkan Anda membagi kode tingkat atas menjadi beberapa file sekaligus menghindari kata kunci impor. Ini juga akan cocok dengan perilaku lingkungan yang sederhana. "
Tampaknya Puppet dapat mereferensikan seluruh direktori alih-alih hanya file manifes tertentu, sehingga saya berharap bahwa Vagrant akan membuat ketentuan untuk ini dan memungkinkan saya untuk menghapus baris " puppet.manifest_file =" site.pp "dan arahkan ke direktori induk sebagai gantinya di mana semua file * .pp di sana akan dieksekusi. Namun menghapus baris di Vagrant hanya menghasilkan keluhan tentang "default.pp" yang diharapkan sebagai gantinya:
pembayar boneka: * Manifes wayang yang dikonfigurasi tidak ada. Silakan tentukan jalur ke manifes yang ada: /some/path/puppet_files/manifests/default.pp
Begitu:
- Pertama, apakah saya memahami cara "baru" (non-impor) untuk memanggil banyak manifes dengan benar, dalam hal ini direktori harus diarahkan ke mana semua file * .pp di dalamnya akan dieksekusi?
- Dan kedua, sudahkah Vagrant "menyusul" perubahan baru ini untuk mengakomodasi referensi direktori sehubungan dengan penghilangan Wayang atas "impor"?
Pembaruan: Terima kasih kepada Shane, masalah dengan # 2 (kode Vagrant tidak ditangkap untuk memungkinkan menunjuk ke direktori manifes boneka) dilaporkan di situs pelacak masalah GitHub Vagrant dan sejak itu telah ditambal: https://github.com/mitchellh/vagrant / issues / 4169