내가 설정하는 방법을 알고 싶습니다 :datadir:
에 hiera.yaml
인형과 방랑 최적의 사용을 위해. 현재 퍼펫 3.1.1을 실행하는 Ubuntu 12.04 게스트와 함께 Ubuntu 13.10에서 virtualbox 4.2와 함께 방랑 제 1.5.0을 사용하고 있습니다.
이 블로그 게시물 인 Puppet Best Practices : Environment specific configs 와 유사한 환경을 설정하려고합니다 . 특히 내 Vagrantfile에는 다음이 포함됩니다.
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
삭제하면 오류가 발생하기 때문에가 올바른지 확인할 수 있습니다 hiera.yaml
.
puppet/hiera.yaml
포함한다 :
---
:backends: yaml
:yaml:
:datadir: "manifests/configuration"
:hierarchy:
- "%{::clientcert}"
- "%{::environment}"
- "virtual_%{::is_virtual}"
- common
:logger: console
또한 다음을 puppet/manifests/configuration/common.yaml
포함합니다.
---
myvar: "test"
커맨드 라인에서 이것을 테스트 :
$ hiera -c hiera.yaml myvar
test
여태까지는 그런대로 잘됐다. 그러나 꼭두각시 매니페스트 파일 내에서 이것을 테스트하려고하면 변수를 찾을 수 없으며 오류가 발생합니다. 테스트 예 :
$myvariable = hiera(myvar)
notice("My variable is: ${myvar}")
오류는 다음과 같습니다
Error: Could not find data item myvar in any Hiera data file and no default supplied at...
를 통해 내 컴퓨터에 ssh하면 vagrant ssh
Vagrant가 / tmp / vagrant-puppet-2에 매니페스트 디렉토리를 마운트하고 있음을 알 수 있습니다. hiera.yaml
파일을 편집하고 :datadir:
전체 경로로 /tmp/vagrant-puppet-2/manifests/configuration
바꾸면 Puppet 매니페스트가 내 Hiera 데이터에 액세스 할 수 있습니다. 그래도 상대 경로 로이 작업을 수행 할 수 있습니까?
hiera.yaml
파일 이 필요하다는 것을 의미합니까? 하나는 방랑 용이고 다른 하나는 꼭두각시와 함께 사용됩니다 (생산 중)?