如何在Chef中重用Vagrant参数

时间:2016-11-16 14:42:29

标签: vagrant vagrantfile

我很难理解如何将当前的流浪汉配置传递给厨师。

例如,在Vagrant配置期间,我有这样的配置:

config.vm.provider :aws do |aws, override|
   override.ssh.username = "ubuntu"
   ...
end

...

config.vm.provision :chef_solo do |chef|
  chef.json = {
      username: "ubuntu"
  }
  ...
end

现在我如何在 chef-solo 配置中重用ssh username? 我希望能写出这样的东西:

config.vm.provision :chef_solo do |chef|
  chef.json = {
      username: config.ssh.username
  }
end

任何帮助高度赞赏:)

1 个答案:

答案 0 :(得分:0)

这个解决方案似乎对我非常有用:

username = "ubuntu"

config.vm.provider :aws do |aws, override|
   override.ssh.username = "#{username}"
   ...
end

...

config.vm.provision :chef_solo do |chef|
  chef.json = {
      username: "#{username}"
  }
  ...
end

(感谢Alvaro Miranda Aguilera如何在Vagrant forum中建议这段代码)