寫我的第一個流浪廚師獨奏食譜我想到了一些簡單的東西,比如改變主機名。在流浪文件中,我有這個;在流浪廚師獨奏配方中重寫主機名
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "../../chef/cookbooks"
chef.roles_path = "../../chef/roles"
chef.data_bags_path = "../../chef/data_bags"
chef.json = { :hostname => "foofoo" }
chef.add_recipe "myrecipe"
in myrecipe/recipes/default.rb;
myvar = node[:hostname]
template "/tmp/myfile" do
source "myfile.erb"
owner "root"
group "root"
mode 0644
variables(
:myvar => myvar
)
end
in myrecipe/templates/default/myfile.erb;
<%= @myvar %>
這實際上不起作用。/tmp/myfile始終以/ etc/hostname中的真實主機名結束。很久以後,我的頭撞過頭,我碰到了這些變化;
在流浪文件中;
chef.json = { :myhostname => "foofoo" }
在配方文件中;
myvar = node[:myhostname]
所以,似乎「:主機名」是特殊的莫名其妙,但儘量爲我可能,我找不到解釋了爲什麼,或如何覆蓋它,或者其他什麼「特殊」的值有任何文件可能可用。
大部分文檔似乎都假設我還沒有達到某種程度的能力。所以,我可能已經看到了答案,並沒有認出它。任何人都可以向我指出可以解釋這個問題的'絕對初學者'文檔嗎?
有沒有辦法在vagrant文件中改變它呢?例如,我可以使用'config.vm.base_mac =「auto」'設置VM MAC('node [:macaddress]')。 – CAB 2013-04-24 19:14:25
我在vagrant 1.0.x文檔中發現了'config.vm.host_name',但在新版本的文檔中找不到任何類似的東西。我從實驗中知道它不起作用 - vm:以下設置不存在:host_name' – CAB 2013-04-24 19:51:57
只有廚師纔有可能,但它不太好。對我而言,我制定了一條規則,即使在廚師環境中,我也會應用任何與網絡有關的設置(並且主機名爲一個),原因有兩個:a)引導問題和b)失敗和失去連接的風險 – cmur2 2013-04-24 20:11:57