Seu problema original era / é que :datadir
precisa ser um caminho absoluto. Hiera não permite que você especifique caminhos relativos para o :datadir
. Se você acha que isso deve ser permitido, envie uma solicitação para alterá-la .
O manifestdir é descontinuado . Você pode preferir usar o yamldir . Você pode substituir essa configuração quando você passar a marionete.
Para vagabundo:
servername.vm.provision :puppet, :options => ["--yamldir some/absolute/path"] 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
UPDATE : Já que você precisa fornecer um caminho absoluto (e porque vagrant), você deve configurar sua própria pasta compartilhada para que você possa ser explícito sobre onde ela está e não fazer suposições sobre um vagrant definir caminho para a execução de marionetes. Adicione isso ao seu Vagrantfile
:
config.vm.synced_folder "puppet/manifests/configuration", "/hieradata"
e, em seguida, altere a primeira linha acima para:
servername.vm.provision :puppet, :options => ["--yamldir /hieradata"] do |puppet|