Ben nasıl ayarlanacağı bilmek istiyorum :datadir:
içinde hiera.yaml
Kukla ve Vagrant ile optimum kullanım için. Şu anda Ubuntu 13.10 üzerinde sanal kutu 4.2 ile vagrant 1.5.0 kullanıyorum ve Ubuntu 12.04 konuk kukla 3.1.1 çalıştıran
Bu blog yayınına benzer bir ortam kurmaya çalışıyorum, Kukla En İyi Uygulamaları: Ortama özgü yapılandırmalar . Özellikle, benim Vagrantfile içerir:
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
hiera_config_path
Doğru olduğunu onaylayabilirim , çünkü sildiğimde bir hata alıyorum hiera.yaml
.
puppet/hiera.yaml
içerir:
---
:backends: yaml
:yaml:
:datadir: "manifests/configuration"
:hierarchy:
- "%{::clientcert}"
- "%{::environment}"
- "virtual_%{::is_virtual}"
- common
:logger: console
Ve ayrıca puppet/manifests/configuration/common.yaml
şunları içerir:
---
myvar: "test"
Bunu komut satırından test etme:
$ hiera -c hiera.yaml myvar
test
Çok uzak çok iyi. Ancak, bunu bir kukla manifest dosyasından test etmeye çalışırsam, değişken bulunamaz ve bir hata alırım. Örnek test:
$myvariable = hiera(myvar)
notice("My variable is: ${myvar}")
Hata:
Error: Could not find data item myvar in any Hiera data file and no default supplied at...
Eğer makineme ssh vagrant ssh
koyarsam Vagrant'ın manifest dizinimi / tmp / vagrant-kukla-2'ye bağladığını görebiliyorum. hiera.yaml
Dosyayı düzenler ve :datadir:
tam yolla değiştirirsem /tmp/vagrant-puppet-2/manifests/configuration
, Kukla manifestolarım Hiera verilerime erişebilir. Yine de bunu göreceli bir yolla yapabilir miyim?
hiera.yaml
, biri vagrant ile kullanım ve diğeri Kukla ile kullanım için 2 dosyaya ihtiyacım olduğu anlamına mı geliyor ?