Настройте несколько хостов с наследованием, переопределяя память - PullRequest
0 голосов
/ 18 января 2019

У меня есть Vagrantfile, который обеспечивает 6 виртуальных машин. Все они похожи, за исключением необходимого объема памяти (и IP-адреса).

Я хотел бы установить размер оперативной памяти по умолчанию и изменить его при необходимости, process1 и process2 должны получить 6 ГБ.

Я пытался изменить .memory, используя несколько префиксов (app, v, ...), но, очевидно, не получил правильный синтаксис. Я также пытался app.customize ["modifyvm", :id, "--memory", "6144"], но vagrant validate жаловался на это.

В настоящее время файл выглядит так:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure( VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "geerlingguy/centos7"
  config.vm.provider :virtualbox do |v|
    v.memory = 2048
    v.linked_clone = true
  end

  config.vm.define "process1" do |app|
    app.vm.hostname = "process1"
    app.vm.network :private_network, ip: "192.168.60.11"
  end

  config.vm.define "process2" do |app|
    app.vm.hostname = "process2"
    app.vm.network :private_network, ip: "192.168.60.12"
  end

  config.vm.define "index1" do |app|
    app.vm.hostname = "index1"
    app.vm.network :private_network, ip: "192.168.60.13"
  end

  config.vm.define "index2" do |app|
    app.vm.hostname = "index2"
    app.vm.network :private_network, ip: "192.168.60.14"
  end

  config.vm.define "quorum" do |app|
    app.vm.hostname = "quorum"
    app.vm.network :private_network, ip: "192.168.60.15"
  end

  config.vm.define "control" do |app|
    app.vm.hostname = "control"
    app.vm.network :private_network, ip: "192.168.60.21"
  end

end

1 Ответ

0 голосов
/ 18 января 2019

Вам нужно переопределить в каждом блоке

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure( VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "geerlingguy/centos7"
  config.vm.provider :virtualbox do |v|
    v.memory = 2048
    v.linked_clone = true
  end

  config.vm.define "process1" do |app|
    app.vm.hostname = "process1"
    app.vm.network :private_network, ip: "192.168.60.11"
    app.vm.provider :virtualbox do |v|
      v.memory = 6144
    end
  end

  config.vm.define "process2" do |app|
    app.vm.hostname = "process2"
    app.vm.network :private_network, ip: "192.168.60.12"
    app.vm.provider :virtualbox do |v|
      v.memory = 6144
    end
  end

  config.vm.define "index1" do |app|
    app.vm.hostname = "index1"
    app.vm.network :private_network, ip: "192.168.60.13"
  end

  config.vm.define "index2" do |app|
    app.vm.hostname = "index2"
    app.vm.network :private_network, ip: "192.168.60.14"
  end

  config.vm.define "quorum" do |app|
    app.vm.hostname = "quorum"
    app.vm.network :private_network, ip: "192.168.60.15"
  end

  config.vm.define "control" do |app|
    app.vm.hostname = "control"
    app.vm.network :private_network, ip: "192.168.60.21"
  end

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...