Questão Por que tenho três provedores no meu arquivo Vagrant?


Estou aprendendo o Vagrant

 config.vm.synced_folder ".", "/vagrant", type: "sshfs"
  config.vm.box_version = '1611.01'
  config.vm.box = "centos/7"

  config.vm.provider "virtualbox" do |v|
    v.memory = 1024
  end

  config.vm.provider "vmware_fusion" do |v|
    v.vmx["memsize"] = "1024"
  end

  config.vm.provider "libvirt" do |libvirt|
    libvirt.memory = 1024
  end

  config.vm.define "vm1", primary: true do |pupdev|
    pupdev.vm.hostname = 'puppet-vm1'

Por que eu estou tendo todos os três? Por que o Vitual Box não é suficiente?


0


origem


E se você estivesse executando o VMware Fusion? - techraf


Respostas:


Esses provedores permitem que você e outros orientem o vagrant para o mesmo comportamento em diferentes ambientes de virtualização. Se o Vagrantfile está apenas suportando o Virtual Box, então você só necessidade único.

Como bônus, você pode definir o tamanho da memória como uma variável no topo. Neste exemplo, você pode alterar o valor em um só lugar:

memToAllocate = 2048

config.vm.synced_folder ".", "/vagrant", type: "sshfs"
config.vm.box_version = '1611.01'
config.vm.box = "centos/7"

config.vm.provider "virtualbox" do |v|
  v.memory = memToAllocate
end

config.vm.provider "vmware_fusion" do |v|
  v.vmx["memsize"] = memToAllocate.to_s
end

config.vm.provider "libvirt" do |libvirt|
  libvirt.memory = memToAllocate
end
...

0