写我的第一个流浪厨师独奏食谱我想到了一些简单的东西,比如改变主机名。在流浪文件中,我有这个;在流浪厨师独奏配方中重写主机名
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