Saya ingin tahu cara mengatur :datadir:
di hiera.yaml
untuk penggunaan optimal dengan Wayang dan gelandangan. Saat ini saya menggunakan vagrant 1.5.0 dengan virtualbox 4.2 di Ubuntu 13.10 dengan tamu Ubuntu 12.04 menjalankan boneka 3.1.1
Saya mencoba membuat lingkungan yang mirip dengan posting blog ini, Puppet Best Practices: Konfigurasi khusus lingkungan . Secara khusus, Vagrantfile saya mengandung:
config.vm.define "servername" do |servername|
servername.vm.box = "precise-puppet-3"
servername.vm.network "private_network", ip: "192.168.213.2",
virtualbox__intnet: "networkname"
# Provision with puppet.
servername.vm.provision :puppet do |puppet|
puppet.hiera_config_path = "puppet/hiera.yaml"
puppet.manifests_path = "puppet/manifests"
puppet.module_path = "puppet/modules"
puppet.manifest_file = "servername.pp"
puppet.facter = {
"vagrant" => "1",
"server" => "servername",
}
end
end
Saya dapat mengkonfirmasi bahwa hiera_config_path
itu benar, karena saya mendapatkan kesalahan jika saya menghapus hiera.yaml
.
puppet/hiera.yaml
mengandung:
---
:backends: yaml
:yaml:
:datadir: "manifests/configuration"
:hierarchy:
- "%{::clientcert}"
- "%{::environment}"
- "virtual_%{::is_virtual}"
- common
:logger: console
Dan selanjutnya, puppet/manifests/configuration/common.yaml
berisi:
---
myvar: "test"
Menguji ini dari commandline:
$ hiera -c hiera.yaml myvar
test
Sejauh ini baik. Namun, jika saya mencoba untuk menguji ini dari dalam file manifes boneka, variabel tidak dapat ditemukan, dan saya mendapatkan kesalahan. Contoh uji:
$myvariable = hiera(myvar)
notice("My variable is: ${myvar}")
Kesalahannya adalah:
Error: Could not find data item myvar in any Hiera data file and no default supplied at...
Jika saya ssh ke mesin saya melalui vagrant ssh
, saya dapat melihat bahwa Vagrant me-mount direktori manifes saya di / tmp / vagrant-puppet-2. Jika saya mengedit hiera.yaml
file, dan mengganti :datadir:
dengan path lengkap /tmp/vagrant-puppet-2/manifests/configuration
, maka manifes Wayang saya dapat mengakses data Hiera saya. Bisakah saya melakukan ini dengan jalur relatif?
hiera.yaml
file, satu untuk digunakan dengan gelandangan, dan satu untuk digunakan dengan Wayang (dalam produksi)?