আমি জানতে চাই কিভাবে স্থাপন করতে চাই :datadir:মধ্যে hiera.yamlপুতুল এবং দ্য ভাগ্রান্ট সঙ্গে অনুকূল ব্যবহারের জন্য। বর্তমানে আমি উবুন্টু ১৩.০১.০ তে একটি উবুন্টু ১২.০৪ অতিথি চলমান পুতুলের সাথে ভার্চুয়ালবক্স ৪.২ সহ ভুগল 1.5..0 ব্যবহার করছি
আমি এই ব্লগ পোস্টের মতো একটি পরিবেশ স্থাপন করার চেষ্টা করছি, পুতুল সেরা অভ্যাস: পরিবেশ নির্দিষ্ট কনফিগারেশন । বিশেষত, আমার ভ্যাগ্র্যান্টফাইলে রয়েছে:
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...
আমি যদি আমার মেশিনে প্রবেশ করি তবে আমি vagrant sshদেখতে পাচ্ছি যে ভ্যাগ্র্যান্ট আমার মেনিফেস্ট ডিরেক্টরিটি / tmp / ভ্যাগ্র্যান্ট-পুতুল -২ এ মাউন্ট করছে। আমি যদি hiera.yamlফাইলটি সম্পাদনা করি এবং :datadir:পুরো পথ দিয়ে প্রতিস্থাপন /tmp/vagrant-puppet-2/manifests/configurationকরি তবে আমার পুতুলটি আমার হিয়ের ডেটা অ্যাক্সেস করতে পারে। যদিও আমি কোনও আপেক্ষিক পথ দিয়ে এটি করতে পারি?
hiera.yamlফাইল দরকার , একটি যোনিতে ব্যবহারের জন্য, এবং একটি পুতুলের (উত্পাদনে) ব্যবহারের জন্য?