在具有多个主机的Vagrantfile上启动并在一个主机上启动所有vms

时间:2015-12-02 17:56:33

标签: vagrant libvirt

我有一个Vagrant文​​件,我想用它在三个独立的主机上启动3个VM。如果我跑

vagrant up master
vagrant up slave1
vagrant up slave2
事情按预期发挥作用;我让我的三个虚拟机在三个不同的主机上运行。

但是,如果我只是运行

vagrant up

我最终得到了一台主机上的所有机器。流浪者摧毁也有类似的问题。

我做错了吗?我需要设置一个标志吗?

我的设置:

  • 我在Ubuntu 14.04LTS桌面上运行流浪汉。
  • provider = libvirt
  • 我使用vagrant-mutate使盒子与libvirt兼容
  • vagrant version 1.7.4
  • VAGRANT_DEFAULT_PROVIDER =我的.bashrc中设置了libvirt

主机:

  • Ubuntu Server 14.04LTS

如果有必要,我可以对此进行扩展,但似乎问题是我在流浪汉中所做的事情;不知怎的,它只使用.provider部分一次???

Vagrantfile:

# -x- mode: ruby -x-
# vi: set ft=ruby :

boxes = [
    {
        :name => "master",
        :host => "192.168.1.21",
        :hostname => "hibanako-1",
        :mac => "..."
    },
    {
        :name => "slave1",
        :host => "192.168.1.22",
        :hostname => "hibanako-2",
        :mac => "..."
    },
    {
        :name => "slave2",
        :host => "192.168.1.23",
        :hostname => "hibanako-3",
        :mac => "..."
    }
]

VAGRANT_API_VERSION = "2"


Vagrant.configure(VAGRANT_API_VERSION) do |config|
  boxes.each do |opts|
    config.vm.define opts[:name] do |boxconfig|

      boxconfig.vm.box = "ubuntu/trusty64"
      boxconfig.vm.hostname = opts[:hostname]
      boxconfig.vm.network :public_network,
        :dev => "p2p1",
        :mac => opts[:mac],
        :mode => 'bridge'
      boxconfig.vm.provider :libvirt do |lv|
        lv.host = opts[:host]
        lv.username = "..."
        lv.connect_via_ssh = true
        lv.memory = 1600
        lv.cpus = 4
      end
    end
  end
end

我看过的一些资源:

0 个答案:

没有答案